1. 配置文件位置
Redis 的 RDB 配置通常在 redis.conf
文件中,路径可能是:
/etc/redis/redis.conf
- 或 Redis 安装目录下的
redis.conf
2. 核心 RDB 配置参数
在 redis.conf
中找到以下配置项并修改:
(1) 触发 RDB 快照的条件(save
)
save 900 1 # 900秒(15分钟)内至少有1个键被修改,触发快照
save 300 10 # 300秒(5分钟)内至少有10个键被修改,触发快照
save 60 10000 # 60秒(1分钟)内至少有10000个键被修改,触发快照
- 默认配置:以上三个
save
条件是 Redis 的默认设置。 - 禁用 RDB:如果删除所有
save
行,则完全禁用 RDB 快照。
(2) 是否启用压缩(rdbcompression
)
rdbcompression yes # 启用压缩(默认),减少 RDB 文件体积
- 压缩会消耗 CPU 资源,但节省磁盘空间。
(3) 是否启用校验(rdbchecksum
)
rdbchecksum yes # 启用 CRC64 校验(默认),确保备份文件完整性
- 启用后会增加 10% 的性能开销,但更安全。
(4) RDB 文件名(dbfilename
)
dbfilename dump.rdb # 默认文件名,可自定义
(5) RDB 文件存储路径(dir
)
dir /var/lib/redis # 默认路径,需确保 Redis 有写入权限
- 修改后需确保目录存在且 Redis 用户有读写权限。
(6) 是否在启动时加载 RDB 文件(dir
)
# Redis 默认会自动加载 RDB 文件,无需额外配置
3. 配置步骤
-
编辑
redis.conf
文件
使用文本编辑器打开配置文件:sudo nano /etc/redis/redis.conf
-
修改 RDB 相关参数
根据需求调整save
、dbfilename
、dir
等参数。 -
保存并重启 Redis 服务
sudo systemctl restart redis
4. 验证 RDB 配置是否生效
- 手动触发 RDB 快照
使用BGSAVE
命令(推荐)或SAVE
命令生成快照:redis-cli 127.0.0.1:6379> BGSAVE # 后台异步保存,不阻塞主线程
- 检查 RDB 文件
查看指定目录下是否生成了dump.rdb
文件:ls -l /var/lib/redis/dump.rdb
5. 生产环境推荐配置
save 60 10000 # 每分钟至少1万个键修改时触发快照
save 300 10
save 900 1
rdbcompression yes
rdbchecksum yes
dbfilename redis.rdb
dir /data/redis/
- 路径建议:将 RDB 文件存储到独立磁盘分区,避免磁盘满导致问题。
- 监控:定期检查 RDB 文件大小和生成时间,确保备份正常。
6. 注意事项
- 性能影响:
SAVE
命令会阻塞 Redis 主线程,生产环境应使用BGSAVE
。 - 备份策略:建议结合 AOF 持久化(
appendonly yes
)提供更高数据安全性。 - 恢复数据:将 RDB 文件复制到配置的
dir
路径下,重启 Redis 即可自动加载。
7. 常见问题
-
Q:为什么没有生成 RDB 文件?
A:检查save
条件是否满足,或手动执行BGSAVE
;确认dir
路径权限是否正确。 -
Q:RDB 文件损坏怎么办?
A:使用redis-check-dump
工具修复(Redis 6.0+ 已弃用,建议用 AOF 恢复)。 -
Q:如何禁用 RDB?
A:删除所有save
行,或设置save ""
。