Windows 下安装 Memcached(2025 最新版)
Memcached 官方没有原生 Windows 版本,但社区维护了稳定可用的 Windows 端口。下面提供 最简单 + 最可靠 的两种方式:
方法一:官方推荐方式(社区维护的 Windows 版)【推荐】
1. 下载预编译二进制包(64 位)
最新稳定版:https://github.com/memcached-windows/memcached-windows
或备用镜像:https://github.com/nono303/memcached-windows/releases
https://github.com/nono303/memcached-windows/releases/download/1.6.28/memcached-1.6.28-amd64.zip
2. 解压到任意目录
C:\memcached\memcached.exe
3. 以服务方式安装(管理员权限运行 CMD)
cd C:\memcached
memcached.exe -d install
-d install:注册为 Windows 服务
服务名:memcached Server
4. 启动服务
memcached.exe -d start
或通过 服务管理器:
- 按
Win + R→ 输入services.msc - 找到
memcached Server→ 右键 启动
方法二:使用 Scoop 包管理器(最简单)
1. 安装 Scoop(只需一次)
# 以管理员运行 PowerShell
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
irm get.scoop.sh | iex
2. 安装 Memcached
scoop install memcached
自动下载、解压、注册服务、开机自启
3. 启动
scoop start memcached
方法三:使用 Docker(跨平台、隔离强)【推荐生产测试】
# 拉取官方镜像(Linux 版)
docker pull memcached:alpine
# 启动容器
docker run -d --name memcached-win -p 11211:11211 memcached:alpine
访问
localhost:11211即可使用
配置 Memcached(所有方法通用)
1. 常用启动参数
| 参数 | 说明 | 示例 |
|---|---|---|
-m | 内存大小(MB) | -m 512 |
-p | 监听端口 | -p 11211 |
-l | 绑定 IP | -l 127.0.0.1 |
-c | 最大连接数 | -c 4096 |
-I | 单个 item 最大大小 | -I 2m |
2. 修改服务启动参数(方法一)
# 停止服务
memcached.exe -d stop
# 卸载旧服务
memcached.exe -d uninstall
# 重新安装并指定参数
memcached.exe -d install -m 1024 -p 11211 -l 127.0.0.1 -c 4096
# 启动
memcached.exe -d start
验证安装成功
1. 检查端口监听
netstat -an | find "11211"
输出:
TCP 127.0.0.1:11211 0.0.0.0:0 LISTENING
2. Telnet 测试
telnet 127.0.0.1 11211
输入:
stats
quit
应返回:
STAT pid 1234
STAT uptime 100
...
END
3. PowerShell 简单测试
$client = New-Object System.Net.Sockets.TcpClient("127.0.0.1", 11211)
$stream = $client.GetStream()
$writer = New-Object System.IO.StreamWriter($stream)
$reader = New-Object System.IO.StreamReader($stream)
$writer.WriteLine("set test 0 900 5")
$writer.WriteLine("hello")
$writer.Flush()
$reader.ReadLine() # STORED
$writer.WriteLine("get test")
$writer.Flush()
$reader.ReadLine() # VALUE test 0 5
$reader.ReadLine() # hello
$reader.ReadLine() # END
开机自启设置
| 方法 | 操作 |
|---|---|
| 方法一 | 服务属性 → 启动类型 = 自动 |
| 方法二(Scoop) | 自动已设置 |
| 方法三(Docker) | docker update --restart=always memcached-win |
防火墙设置(允许 11211 端口)
# 允许本地连接
New-NetFirewallRule -DisplayName "Memcached" -Direction Inbound -Protocol TCP -LocalPort 11211 -Action Allow
生产环境建议 仅限内网 IP 访问
客户端测试(Python 示例)
from pymemcache.client.base import Client
client = Client(('127.0.0.1', 11211))
client.set('key1', '你好 Memcached!', expire=60)
print(client.get('key1')) # b'你好 Memcached!'
卸载 Memcached
方法一(手动)
memcached.exe -d stop
memcached.exe -d uninstall
rmdir /s C:\memcached
方法二(Scoop)
scoop uninstall memcached
方法三(Docker)
docker stop memcached-win
docker rm memcached-win
docker rmi memcached:alpine
常见问题(FAQ)
| 问题 | 解决方案 |
|---|---|
memcached.exe -d install 失败 | 以 管理员权限 运行 CMD |
| 无法连接 11211 | 检查防火墙、服务是否启动、-l 是否绑定 127.0.0.1 |
| 内存不足 | 增加 -m 参数(如 -m 2048) |
| 服务启动即退出 | 查看日志:C:\memcached\memcached.log |
一键安装脚本(PowerShell)
# 保存为 install-memcached.ps1,右键“以管理员运行 PowerShell”
Invoke-WebRequest -Uri "https://github.com/nono303/memcached-windows/releases/download/1.6.28/memcached-1.6.28-amd64.zip" -OutFile "$env:TEMP\memcached.zip"
Expand-Archive -Path "$env:TEMP\memcached.zip" -DestinationPath "C:\memcached" -Force
Set-Location "C:\memcached"
.\memcached.exe -d install
.\memcached.exe -d start
Write-Host "Memcached 已安装并启动!访问 127.0.0.1:11211" -ForegroundColor Green
小结:三种方式对比
| 方法 | 难度 | 推荐场景 | 开箱即用 |
|---|---|---|---|
| 社区二进制 | ★★ | 生产、稳定 | 是 |
| Scoop | ★ | 开发、测试 | 是 |
| Docker | ★★ | 容器化、隔离 | 是 |
下一步建议:
- 用 Python / Node.js 写一个缓存 demo
- 配置多实例(不同端口)
- 配合 Nginx + PHP 做页面缓存
需要 多实例运行、图形化管理工具、与 Redis 对比?继续问我!