Redis官方确实从未发布过原生的Windows版本,这一点需要特别强调。2019年后,微软维护的Windows移植版也停止了更新。对于开发者而言,这意味着在Windows上运行Redis存在一定的局限性。不过,通过一些变通方法,我们仍然可以在Windows环境下搭建Redis服务用于开发和测试。
目前Windows平台可用的Redis主要有两种来源:
对于大多数本地开发测试场景,使用微软移植版已经足够。这个版本虽然老旧,但包含了核心功能,包括:
重要提示:生产环境强烈建议使用Linux服务器运行最新版Redis。Windows版仅适合开发测试使用。
虽然官方不再维护,但我们可以从GitHub历史版本中获取最后的稳定版本:
Redis-x64-3.0.504.zip(64位版本)D:\Redis解压后的目录结构包含以下关键文件:
code复制redis-benchmark.exe # 性能测试工具
redis-check-aof.exe # AOF文件检查工具
redis-check-dump.exe # RDB文件检查工具
redis-cli.exe # 命令行客户端
redis-server.exe # 服务端主程序
redis.windows.conf # 主配置文件
最简单的启动方式是直接运行redis-server.exe:
redis-server.exe会打开一个命令行窗口这种方式适合临时测试,但开发中我们需要更稳定的服务运行方式。
要将Redis安装为系统服务,需要管理员权限运行CMD:
bash复制# 进入Redis目录
cd /d D:\Redis
# 安装服务(指定配置文件)
redis-server --service-install redis.windows.conf --loglevel verbose
# 启动服务
net start redis
服务安装成功后,可以通过Windows服务管理器控制Redis的启停。常用服务命令:
bash复制net stop redis # 停止服务
net start redis # 启动服务
sc delete redis # 删除服务(需先停止)
redis.windows.conf中几个关键配置项:
conf复制# 绑定IP(0.0.0.0表示允许所有IP访问)
bind 0.0.0.0
# 端口号
port 6379
# 最大内存限制(示例设置为1GB)
maxmemory 1073741824
# 持久化设置
save 900 1 # 900秒内至少1次修改则保存
save 300 10 # 300秒内至少10次修改则保存
save 60 10000 # 60秒内至少10000次修改则保存
# 日志级别
loglevel notice
修改配置后需要重启服务生效:
bash复制net stop redis
net start redis
使用内置的redis-cli.exe进行连接测试:
bash复制redis-cli -h 127.0.0.1 -p 6379
连接成功后可以执行基本命令:
redis复制SET testkey "Hello Redis"
GET testkey
KEYS *
python复制import redis
r = redis.Redis(host='localhost', port=6379, db=0)
r.set('foo', 'bar')
print(r.get('foo'))
javascript复制const Redis = require('ioredis');
const redis = new Redis();
redis.set('foo', 'bar').then(() => {
return redis.get('foo');
}).then((result) => {
console.log(result); // 输出 'bar'
});
对于Windows用户,以下GUI工具可以方便管理Redis:
如果net start redis失败,检查步骤:
redis_log.txt(服务模式日志输出到这里)bash复制netstat -ano | findstr 6379
Windows版Redis默认无内存限制,可能导致系统内存耗尽。解决方法:
maxmemorymaxmemory-policy allkeys-lru)如果Redis无法启动,可能是RDB/AOF文件损坏:
bash复制redis-check-aof --fix appendonly.aof
redis-check-dump dump.rdb
conf复制save ""
appendonly no
conf复制tcp-backlog 511
conf复制protected-mode no
如果需要运行多个Redis实例:
bash复制redis-server --service-install redis.windows.conf --loglevel verbose --service-name redis6380
更推荐的方式是使用WSL运行原生Linux版Redis:
这种方法可以获得:
对于现代开发环境,还可以考虑:
示例docker-compose.yml:
yaml复制version: '3'
services:
redis:
image: redis:latest
ports:
- "6379:6379"
volumes:
- redis_data:/data
volumes:
redis_data:
通过redis-cli获取运行状态:
redis复制INFO # 查看全部信息
INFO memory # 内存使用情况
INFO clients # 客户端连接信息
INFO stats # 统计信息
dump.rdb和appendonly.aof文件redis-cli --bigkeysconf复制requirepass yourpassword
conf复制rename-command FLUSHDB ""
rename-command FLUSHALL ""
conf复制bind 127.0.0.1
我在实际使用中发现,Windows版Redis虽然功能受限,但对于本地开发测试已经完全够用。最关键的是要记住三点:一是不要用于生产环境,二是注意内存使用情况,三是重要数据一定要有备份方案。当项目进入正式环境时,务必迁移到Linux平台的最新版Redis。