Redis 容器部署
Redis 是高性能内存数据库,常用作缓存和消息队列,下面介绍容器化部署。
快速部署
Bash
# 最简单部署(无密码,仅开发环境)
docker run -d --name my-redis -p 6379:6379 redis:7
# 连接测试
docker exec -it my-redis redis-cli
密码认证
Bash
# 设置密码
docker run -d \
--name my-redis \
-p 6379:6379 \
redis:7 \
redis-server --requirepass mypassword
# 连接验证
docker exec -it my-redis redis-cli -a mypassword
数据持久化
RDB 快照
Bash
# 挂载数据目录
docker run -d \
--name my-redis \
-p 6379:6379 \
-v /data/redis:/data \
redis:7 \
redis-server --requirepass mypassword --save 60 1
AOF 日志
Bash
# 开启 AOF
docker run -d \
--name my-redis \
-p 6379:6379 \
-v /data/redis:/data \
redis:7 \
redis-server \
--requirepass mypassword \
--appendonly yes \
--appendfsync everysec
持久化模式对比:
| 模式 | 性能 | 数据安全性 | 恢复速度 |
|---|---|---|---|
| RDB | 高 | 可能丢数据 | 快 |
| AOF | 低 | 几乎不丢 | 慢 |
| RDB+AOF | 中 | 高 | 快(用 RDB) |
完整部署
Bash
# 生产环境部署
docker run -d \
--name redis-prod \
-p 127.0.0.1:6379:6379 \
-v /data/redis:/data \
--restart unless-stopped \
redis:7 \
redis-server \
--requirepass mypassword \
--appendonly yes \
--appendfsync everysec \
--maxmemory 256mb \
--maxmemory-policy allkeys-lru
配置文件挂载
创建 /data/redis.conf:
conf
bind 0.0.0.0
port 6379
requirepass mypassword
appendonly yes
maxmemory 256mb
maxmemory-policy allkeys-lru
Bash
# 挂载配置文件
docker run -d \
--name redis-prod \
-p 127.0.0.1:6379:6379 \
-v /data/redis.conf:/usr/local/etc/redis/redis.conf:ro \
-v /data/redis:/data \
redis:7 \
redis-server /usr/local/etc/redis/redis.conf
常用操作
Bash
# 进入 CLI
docker exec -it my-redis redis-cli -a mypassword
# 查看信息
redis-cli> INFO
redis-cli> DBSIZE
redis-cli> CONFIG GET maxmemory
# 备份数据
docker exec my-redis redis-cli -a mypassword BGSAVE
# 清理数据
docker exec my-redis redis-cli -a mypassword FLUSHALL
要点总结
- 快速部署:
docker run -d -p 6379:6379 redis:7 - 生产环境必须设置密码:
--requirepass - 数据持久化挂载到
/data,推荐 AOF 或 RDB+AOF - 绑定
127.0.0.1:6379防止外部访问 - 配置
maxmemory和淘汰策略防止内存爆满
📝 发现内容有误?点击此处直接编辑