Skip to content

Memcached Windows安装

安装前准备

1. 系统要求

  • 操作系统:Windows Server 2012 R2/2016/2019/2022,Windows 10/11
  • 架构:支持32位和64位系统
  • 内存:根据业务需求配置,建议至少2GB
  • CPU:至少2核,推荐4核以上
  • .NET Framework:部分管理工具需要.NET Framework 4.0或以上

2. 下载Memcached

Memcached官方不提供Windows版本的二进制文件,需要从第三方渠道下载。常用的Windows版本Memcached下载地址:

安装方法

1. 手动安装

步骤1:下载Memcached二进制文件

从上述链接下载适合您系统架构(32位或64位)的Memcached二进制文件。推荐下载最新稳定版本,如1.6.22。

步骤2:解压文件

将下载的压缩包解压到指定目录,如C:\Program Files\memcached

步骤3:安装为Windows服务

以管理员身份打开命令提示符,执行以下命令:

cmd
cd C:\Program Files\memcached
memcached.exe -d install

步骤4:启动Memcached服务

使用以下命令启动Memcached服务:

cmd
memcached.exe -d start

或者通过Windows服务管理器启动:

  1. 按下Win + R,输入services.msc,点击确定
  2. 在服务列表中找到"memcached Server"
  3. 右键点击,选择"启动"

步骤5:验证安装

使用telnet测试连接:

cmd
# 安装telnet客户端(如果未安装)
dism /online /Enable-Feature /FeatureName:TelnetClient

# 连接Memcached
telnet 127.0.0.1 11211

# 测试SET命令
set test 0 3600 5
hello

# 测试GET命令
get test

# 退出连接
quit

2. 使用Chocolatey安装

Chocolatey是Windows上的包管理器,可以简化Memcached的安装过程。

步骤1:安装Chocolatey

以管理员身份打开命令提示符,执行以下命令:

cmd
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))

步骤2:安装Memcached

执行以下命令安装Memcached:

cmd
choco install memcached

步骤3:启动Memcached服务

cmd
choco start memcached

3. 使用Docker安装(Windows 10/11)

如果您的Windows系统支持WSL 2和Docker,可以使用Docker安装Memcached。

步骤1:安装Docker Desktop for Windows

从Docker官网下载并安装Docker Desktop for Windows:https://www.docker.com/products/docker-desktop

步骤2:拉取Memcached镜像

打开PowerShell,执行以下命令:

powershell
docker pull memcached:latest

步骤3:运行Memcached容器

powershell
docker run -d --name memcached -p 11211:11211 memcached:latest

步骤4:验证安装

powershell
docker exec -it memcached memcached-tool 127.0.0.1:11211 stats

配置Memcached

1. 配置文件位置

Windows版本的Memcached没有默认的配置文件,需要通过命令行参数或注册表进行配置。

2. 命令行参数配置

常用的命令行参数:

参数描述默认值
-p监听端口11211
-l监听地址0.0.0.0
-d以守护进程方式运行不启用
-m缓存大小(MB)64
-c最大连接数1024
-t工作线程数4
-fSlab增长因子1.25
-n初始Chunk大小(字节)48

3. 注册表配置

可以通过修改注册表来配置Memcached服务:

  1. 按下Win + R,输入regedit,点击确定
  2. 导航到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\memcached Server
  3. 双击ImagePath键,修改其值为包含所需参数的命令行

例如:

"C:\Program Files\memcached\memcached.exe" -d runservice -m 2048 -c 2048 -l 127.0.0.1

4. 配置示例

生产环境配置

cmd
"C:\Program Files\memcached\memcached.exe" -d runservice -m 2048 -c 2048 -l 192.168.1.100 -t 8 -f 1.1 -n 64

管理Memcached服务

1. 启动/停止服务

使用命令行

cmd
# 启动服务
memcached.exe -d start

# 停止服务
memcached.exe -d stop

# 重启服务
memcached.exe -d restart

# 卸载服务
memcached.exe -d uninstall

使用Windows服务管理器

  1. 按下Win + R,输入services.msc,点击确定
  2. 在服务列表中找到"memcached Server"
  3. 右键点击,选择相应的操作(启动、停止、重启等)

2. 查看服务状态

cmd
sc query "memcached Server"

防火墙配置

1. 开放Memcached端口

  1. 按下Win + R,输入wf.msc,点击确定
  2. 点击"入站规则",然后点击"新建规则"
  3. 选择"端口",点击"下一步"
  4. 选择"TCP",输入"11211"作为特定本地端口,点击"下一步"
  5. 选择"允许连接",点击"下一步"
  6. 选择适用的网络类型,点击"下一步"
  7. 输入规则名称,如"Memcached",点击"完成"

性能优化

1. 系统参数优化

调整虚拟内存

  1. 右键点击"此电脑",选择"属性"
  2. 点击"高级系统设置"
  3. 在"高级"选项卡下,点击"性能"中的"设置"
  4. 在"高级"选项卡下,点击"虚拟内存"中的"更改"
  5. 取消勾选"自动管理所有驱动器的分页文件大小"
  6. 选择"自定义大小",设置合适的初始大小和最大值
  7. 点击"设置",然后点击"确定"

关闭不必要的服务

  1. 按下Win + R,输入services.msc,点击确定
  2. 停止或禁用不必要的服务,释放系统资源

2. Memcached参数优化

  • 增加缓存大小:根据业务需求调整-m参数
  • 调整工作线程数:根据CPU核心数调整-t参数,建议设置为CPU核心数的1-2倍
  • 优化Slab增长因子:根据数据大小分布调整-f参数
  • 调整最大连接数:根据并发需求调整-c参数

常见问题及解决方案

1. 无法安装为Windows服务

症状

memcached.exe -d install显示Failed to install service or service already installed

解决方案

  • 确保以管理员身份运行命令提示符
  • 检查是否已安装Memcached服务
  • 如果已安装,先卸载再重新安装:memcached.exe -d uninstall

2. 无法启动Memcached服务

症状

memcached.exe -d start显示Failed to start service

解决方案

  • 检查端口是否被占用:使用netstat -ano | findstr 11211查看
  • 检查服务日志:在事件查看器中查看Memcached服务的错误日志
  • 检查注册表配置:确保ImagePath键值正确

3. 无法连接到Memcached

症状

telnet 127.0.0.1 11211显示Connection refused

解决方案

  • 检查Memcached服务是否正在运行:sc query "memcached Server"
  • 检查监听地址和端口:确保配置正确
  • 检查防火墙设置:确保11211端口已开放
  • 检查网络连接:确保网络正常

4. Memcached性能不佳

症状

  • 响应时间长
  • 缓存命中率低
  • CPU或内存使用率高

解决方案

  • 优化Memcached配置参数
  • 调整系统参数
  • 增加Memcached节点数量
  • 优化数据大小和键设计
  • 检查网络连接质量

监控Memcached

1. 内置监控工具

使用memcached-tool

cmd
memcached-tool 127.0.0.1:11211 stats
memcached-tool 127.0.0.1:11211 display

2. 第三方监控工具

  • MemAdmin:Web-based Memcached管理工具
  • Memcached Manager:Windows GUI管理工具
  • Zabbix:支持Windows上的Memcached监控
  • Prometheus + Grafana:全面监控和可视化

升级Memcached

1. 手动升级

cmd
# 停止服务
memcached.exe -d stop

# 卸载服务
memcached.exe -d uninstall

# 下载新版本
# 解压到相同目录

# 重新安装服务
memcached.exe -d install

# 启动服务
memcached.exe -d start

2. 使用Chocolatey升级

cmd
choco upgrade memcached

卸载Memcached

1. 手动卸载

cmd
# 停止服务
memcached.exe -d stop

# 卸载服务
memcached.exe -d uninstall

# 删除安装目录
rmdir /s /q "C:\Program Files\memcached"

# 删除注册表项(可选)
# 导航到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services,删除memcached Server项

2. 使用Chocolatey卸载

cmd
choco uninstall memcached

常见问题(FAQ)

Q1: Windows版本的Memcached与Linux版本有什么区别?

A1: Windows版本的Memcached与Linux版本的主要区别在于:

  • Windows版本由第三方编译,官方不直接支持
  • 配置方式不同,Windows版本通过命令行参数或注册表配置
  • 性能可能略低于Linux版本
  • 服务管理方式不同,Windows版本作为Windows服务运行

Q2: 如何查看Windows版本Memcached的版本?

A2: 可以使用以下命令查看Memcached版本:

cmd
memcached.exe -h

Q3: 如何修改Memcached的监听端口?

A3: 可以通过以下方式修改监听端口:

  • 命令行参数:memcached.exe -d runservice -p 11212
  • 注册表:修改ImagePath键值,添加-p参数

Q4: 如何限制Memcached只监听本地地址?

A4: 可以通过以下方式限制监听地址:

  • 命令行参数:memcached.exe -d runservice -l 127.0.0.1
  • 注册表:修改ImagePath键值,添加-l参数

Q5: 如何增加Memcached的缓存大小?

A5: 可以通过以下方式增加缓存大小:

  • 命令行参数:memcached.exe -d runservice -m 2048
  • 注册表:修改ImagePath键值,添加-m参数

Q6: 如何查看Memcached的运行状态?

A6: 可以使用以下命令查看Memcached的运行状态:

cmd
sc query "memcached Server"
memcached-tool 127.0.0.1:11211 stats

Q7: 如何配置Memcached以守护进程方式运行?

A7: 在Windows上,Memcached作为Windows服务运行,相当于守护进程方式。可以使用以下命令安装为服务:

cmd
memcached.exe -d install

Q8: 如何监控Windows上的Memcached性能?

A8: 可以使用以下工具监控Windows上的Memcached性能:

  • memcached-tool:Memcached自带的监控工具
  • MemAdmin:Web-based管理工具
  • Zabbix:系统级监控和告警
  • Prometheus + Grafana:全面监控和可视化

Q9: 如何优化Windows上的Memcached性能?

A9: 优化Windows上的Memcached性能的方法包括:

  • 调整Memcached配置参数
  • 优化系统参数,如虚拟内存、关闭不必要的服务
  • 优化数据大小和键设计
  • 增加Memcached节点数量
  • 使用高效的客户端库

Q10: 如何备份Windows上的Memcached数据?

A10: Memcached本身不支持数据持久化,可以通过以下方法备份数据:

  • 使用第三方工具,如memcached-dump
  • 在应用层实现数据备份,定期将数据写入磁盘
  • 考虑使用Redis,它支持多种持久化方式