本文将详细介绍如何在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. 合理设置内存大小
1
2
maxmemory 2gb
maxmemory-policy allkeys-lru
  1. 优化持久化策略
  • 根据实际需求选择RDB或AOF
  • 调整持久化触发频率
  1. 网络优化
1
2
tcp-keepalive 300
timeout 0

常见问题解决

连接超时

  1. 检查端口映射是否正确
  2. 确认防火墙设置
  3. 验证Redis服务状态

数据持久化失败

  1. 检查磁盘权限
  2. 确保数据目录存在
  3. 验证配置文件格式

内存占用过高

  1. 检查内存限制设置
  2. 优化数据结构
  3. 及时清理过期数据

参考资料

安装测试验证

基本连接测试

1
2
3
4
5
6
7
8
9
# 进入Redis命令行界面
docker exec -it my-redis redis-cli

# 如果设置了密码,需要先认证
AUTH your_password

# 测试连接是否成功
PING
# 如果返回PONG,说明连接成功

数据操作测试

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
# 1. 写入测试数据
SET persistent_key "test_value"

# 2. 保存数据
SAVE

# 3. 重启容器
docker restart my-redis

# 4. 重新连接并验证数据
docker exec -it my-redis redis-cli
GET persistent_key

性能测试

1
2
3
4
5
# 使用redis-benchmark工具进行性能测试
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

测试结果验证

  1. 连接测试成功标准:

    • PING命令返回PONG
    • 能够正常执行基本的读写操作
  2. 性能测试参考值:

    • SET操作:≥50000 ops/sec
    • GET操作:≥50000 ops/sec
    • 延迟:<1ms
  3. 持久化测试验证点:

    • 数据写入成功
    • 重启后数据仍然存在
    • AOF/RDB文件正常生成

常见测试问题

  1. 连接被拒绝

    • 检查Redis服务是否正常运行:docker ps | grep redis
    • 验证端口映射:docker port my-redis
    • 确认防火墙设置
  2. 性能测试结果不理想

    • 检查系统资源使用情况
    • 调整Redis配置参数
    • 优化网络设置
  3. 持久化测试失败

    • 确认配置文件中的持久化设置
    • 检查数据目录权限
    • 查看Redis日志:docker logs my-redis