|
|
|
|
公众号矩阵

记一次缓存服务器迁移史,心塞!

一句话,Memcached是一个开源的,高性能,分布式的缓存系统,基于内存的key-value存储,用来存储小块的任意数据(字符串、对象)。

作者: 冰河 来源:冰河技术|2021-01-11 05:24

作者个人研发的在高并发场景下,提供的简单、稳定、可扩展的延迟消息队列框架,具有精准的定时任务和延迟队列处理功能。自开源半年多以来,已成功为十几家中小型企业提供了精准定时调度方案,经受住了生产环境的考验。为使更多童鞋受益,现给出开源框架地址:

https://github.com/sunshinelyz/mykit-delay

PS: 欢迎各位Star源码,也可以pr你牛逼哄哄的代码。

写在前面

下班后本来可以好好休息下,结果刚躺下,此时,叮铃铃电话响了。

“喂,你好!”。

“喂,冰河,睡了吗?我是XXX,我现在遇到个问题,我想把缓存服务器从CentOS迁移到Windows上,还有就是我想使用Memcached,你帮我弄下啊”。

“啥?为啥要弄到Windows上啊,为啥使用Memcached啊?Redis不香吗?Redis比Memcached强大的多啊!!”

“这我知道啊,但是我对Linux操作系统和Redis不太熟啊,我想迁移到Memcached上测试下啊!”。

“不太熟慢慢积累,慢慢学”。

“但是项目下周上线,我不太会啊,怎么办?你帮我弄下呗,项目先上线,以后我再慢慢学”。

我这人还是挺喜欢帮助别人的,于是乎,我冒着“严寒”起床帮他迁移缓存服务器了。

文章已收录到:

https://github.com/sunshinelyz/technology-binghe

https://gitee.com/binghe001/technology-binghe

什么是Memcached

一句话,Memcached是一个开源的,高性能,分布式的缓存系统,基于内存的key-value存储,用来存储小块的任意数据(字符串、对象)。

接下来,我们就来一起看看如何在Windows服务器上安装Memcached吧。

安装Memcached

下载服务端memcached软件

32bit:下载 memcached-win32-1.4.4-14.zip(直接下)里面包含6个文件,将解压后的文件夹随便放在什么位置(例如:D:\memcached)。

memcached-win32-1.4.4-14.zip下载页面:http://blog.couchbase.com/memcached-144-windows-32-bit-binary-now-available

64bit:如果需要win64版,下载 memcached-win64-1.4.4-14.zip(直接下),里面有个三个文件,用这三个文件覆盖win32下同名文件。

memcached-win64-1.4.4-14.zip下载页面:http://blog.couchbase.com/memcached-windows-64-bit-pre-release-available

以管理员身份运行cmd.exe

以管理员身份运行 cmd.exe,并转至memcached所在文件夹

比如:

  1. cd D:\memcached 

注意:如果不以管理员身份运行,将得到报错“failed to install service or service already installed”

安装memcached

  1. d:\memcached memcached.exe -d install 

之后屏幕无任何提示,可以在[控制面板]->[管理工具]->[服务]中查看到memcached。

启动memcached

启动方法1:

  1. d:\memcached> memcached.exe -d start 

之后屏幕无任何提示,但是在“任务管理器”中勾选“显示所有用户进程”,此时可以看到memcached.exe进程正在运行默认端口11211,外部访问需要开放该端口,否则无法成功连接。

启动方法2:

[控制面板]->[管理工具]->[服务] 找到 memcached 服务,双击它打开如下图

  • 启动类型:选择【自动】
  • 服务状态:点击下面的【启动】
  • 备注:可执行文件的路径和我上面所说的路径有些区别可以忽略

memcached基本参数设置

  • -p 监听的端口
  • -l 连接的IP地址, 默认是本机
  • -d start 启动memcached服务
  • -d restart 重启memcached服务
  • -d stop|shutdown 关闭正在运行的memcached服务
  • -d install 安装memcached服务
  • -d uninstall 卸载memcached服务
  • -u 以的身份运行 (仅在以root运行的时候有效)
  • -m 最大内存使用,单位MB。默认64MB
  • -M 内存耗尽时返回错误,而不是删除项
  • -c 最大同时连接数,默认是1024
  • -f 块大小增长因子,默认是1.25
  • -n 最小分配空间,key+value+flags默认是48
  • -h 显示帮助

设置参数时需要先停止memcached,然后用命令行设置,比如:

  1. D:\memcached> memcached.exe -m 1 -d start 

停止memcached

  1. D:\memcached> memcached.exe -d stop 

卸载memcached

  1. D:\memcached> memcached.exe -d uninstall 

修改参数

windows下需要通过修改注册表信息进行设置,打开注册表,找

  1. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\memcached  

在其中有一个“ImagePath”项,值为:

  1. "D:\memcached\memcached.exe" -d runservice  

在后面加上“-m 1024 -c 2048 -p 11210”。等即可。重启服务后生效

安装完Memcached,后续把缓存数据从Redis迁移到Memcached,并且把项目中连接Redis的信息修改为连接Memcached即可。

附加安装包大家可到链接http://download.csdn.net/detail/l1028386804/9777810下载Memcached安装包。

总结

本次迁移缓存服务器其实挺心塞的,不是技术问题,而是小伙伴的技术栈问题,明明Linux+Redis无论是性能、持久化还是并发方面都胜于Windows+Memcached,可为什么还要用Windows+Memcached呢?原因就是对Linux+Redis不太熟!这又说明了什么问题呢?

本文转载自微信公众号「 冰河技术」,可以通过以下二维码关注。转载本文请联系 冰河技术公众号。

【编辑推荐】

  1. Git服务器错误配置导致尼桑源代码泄露
  2. 本地安全策略让服务器固若金汤视频课程
  3. 利用WSS实现ISCSI 存储服务器【云存储实战视频课程】
  4. 手把手搭建企业IT实战环境第五季:如何快速搭建企业虚拟专用网络服务器?
  5. Linux运维实战案例中级课程第2章DNS服务器
【责任编辑:武晓燕 TEL:(010)68476606】

点赞 0
分享:
大家都在看
猜你喜欢

订阅专栏+更多

数据湖与数据仓库的分析实践攻略

数据湖与数据仓库的分析实践攻略

助力现代化数据管理:数据湖与数据仓库的分析实践攻略
共3章 | 创世达人

1人订阅学习

云原生架构实践

云原生架构实践

新技术引领移动互联网进入急速赛道
共3章 | KaliArch

30人订阅学习

数据中心和VPDN网络建设案例

数据中心和VPDN网络建设案例

漫画+案例
共20章 | 捷哥CCIE

209人订阅学习

视频课程+更多

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊

51CTO服务号

51CTO官微