本文将详细介绍如何在Docker Desktop环境下安装、配置和使用Redis,包括基本操作和进阶配置。
前置条件
- Windows 10/11操作系统
- 已安装并正确配置Docker Desktop
- 确保Docker服务正在运行
Redis镜像获取
拉取官方镜像
| 1
 | docker pull redis:latest
 | 
查看本地镜像
| 1
 | docker images | grep redis
 | 
创建Redis容器
基本启动命令
| 1
 | docker run --name my-redis -p 6379:6379 -d redis
 | 
带配置启动命令
| 12
 3
 4
 5
 
 | docker run --name my-redis \-p 6379:6379 \
 -v /d/Redis/redis.conf:/etc/redis/redis.conf \
 -v /d/Redis/data:/data \
 -d redis redis-server /etc/redis/redis.conf
 
 | 
| 1
 | docker run --name my-redis -p 6379:6379 -v /d/Redis/redis.conf:/etc/redis/redis.conf -v /d/Redis/data:/data -d redis redis-server /etc/redis/redis.conf
 | 
Redis配置说明
持久化配置
在redis.conf中添加以下配置:
| 12
 3
 4
 5
 6
 7
 8
 
 | # RDB持久化配置save 900 1      # 900秒内至少1个key发生变化,则触发保存
 save 300 10     # 300秒内至少10个key发生变化,则触发保存
 save 60 10000   # 60秒内至少10000个key发生变化,则触发保存
 
 # AOF持久化配置
 appendonly yes
 appendfsync everysec
 
 | 
密码设置
| 1
 | requirepass your_password
 | 
远程访问配置
| 12
 
 | bind 0.0.0.0protected-mode no
 
 | 
基本操作命令
连接Redis容器
| 1
 | docker exec -it my-redis redis-cli
 | 
基本数据操作
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 
 | SET key value
 
 
 GET key
 
 
 DEL key
 
 
 KEYS *
 
 | 
性能优化建议
- 合理设置内存大小
| 12
 
 | maxmemory 2gbmaxmemory-policy allkeys-lru
 
 | 
- 优化持久化策略
- 根据实际需求选择RDB或AOF
- 调整持久化触发频率
- 网络优化
| 12
 
 | tcp-keepalive 300timeout 0
 
 | 
常见问题解决
连接超时
- 检查端口映射是否正确
- 确认防火墙设置
- 验证Redis服务状态
数据持久化失败
- 检查磁盘权限
- 确保数据目录存在
- 验证配置文件格式
内存占用过高
- 检查内存限制设置
- 优化数据结构
- 及时清理过期数据
参考资料
安装测试验证
基本连接测试
| 12
 3
 4
 5
 6
 7
 8
 9
 
 | docker exec -it my-redis redis-cli
 
 
 AUTH your_password
 
 
 PING
 
 
 | 
数据操作测试
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 
 | SET test_key "Hello Redis"
 
 
 GET test_key
 
 
 DEL test_key
 
 
 MSET key1 "value1" key2 "value2"
 MGET key1 key2
 
 | 
持久化测试
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 
 | SET persistent_key "test_value"
 
 
 SAVE
 
 
 docker restart my-redis
 
 
 docker exec -it my-redis redis-cli
 GET persistent_key
 
 | 
性能测试
| 12
 3
 4
 5
 
 | docker exec -it my-redis redis-benchmark -n 100000 -c 50
 
 
 docker exec -it my-redis redis-benchmark -t set,get -n 100000 -c 50
 
 | 
测试结果验证
- 连接测试成功标准: - 
- PING命令返回PONG
- 能够正常执行基本的读写操作
 
- 性能测试参考值: - 
- SET操作:≥50000 ops/sec
- GET操作:≥50000 ops/sec
- 延迟:<1ms
 
- 持久化测试验证点: - 
- 数据写入成功
- 重启后数据仍然存在
- AOF/RDB文件正常生成
 
常见测试问题
- 连接被拒绝 - 
- 检查Redis服务是否正常运行:docker ps | grep redis
- 验证端口映射:docker port my-redis
- 确认防火墙设置
 
- 性能测试结果不理想 - 
- 检查系统资源使用情况
- 调整Redis配置参数
- 优化网络设置
 
- 持久化测试失败 - 
- 确认配置文件中的持久化设置
- 检查数据目录权限
- 查看Redis日志:docker logs my-redis