本文将详细介绍如何在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
|
带配置启动命令
1 2 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中添加以下配置:
1 2 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
|
远程访问配置
1 2
| bind 0.0.0.0 protected-mode no
|
基本操作命令
连接Redis容器
1
| docker exec -it my-redis redis-cli
|
基本数据操作
1 2 3 4 5 6 7 8 9 10 11
| SET key value
GET key
DEL key
KEYS *
|
性能优化建议
- 合理设置内存大小
1 2
| maxmemory 2gb maxmemory-policy allkeys-lru
|
- 优化持久化策略
- 根据实际需求选择RDB或AOF
- 调整持久化触发频率
- 网络优化
1 2
| tcp-keepalive 300 timeout 0
|
常见问题解决
连接超时
- 检查端口映射是否正确
- 确认防火墙设置
- 验证Redis服务状态
数据持久化失败
- 检查磁盘权限
- 确保数据目录存在
- 验证配置文件格式
内存占用过高
- 检查内存限制设置
- 优化数据结构
- 及时清理过期数据
参考资料
安装测试验证
基本连接测试
1 2 3 4 5 6 7 8 9
| docker exec -it my-redis redis-cli
AUTH your_password
PING
|
数据操作测试
1 2 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
|
持久化测试
1 2 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
|
性能测试
1 2 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