Debian 上 Redis 的配置与数据备份策略
一 核心策略总览
- RDB 快照:在指定条件或手动触发时生成一致性快照,文件小、恢复快,适合定期与灾难恢复。
- AOF 日志:记录每个写操作,支持按策略同步到磁盘,数据安全性更高,适合对数据丢失敏感的场景。
- 主从复制:通过从节点实时同步数据,作为在线热备与只读副本,提升可用性与读扩展。
- Sentinel:配合主从实现自动故障切换与监控,保障高可用架构的连续性。
- 异地多副本:跨机房/云区域部署从节点或定期拷贝持久化文件,提升容灾能力。
二 本地持久化配置要点
- RDB 快照配置示例(/etc/redis/redis.conf)
- 保存策略:如 save 900 1、save 300 10、save 60 10000
- 关键参数:dbfilename dump.rdb;dir /var/lib/redis
- 可靠性:stop-writes-on-bgsave-error yes;rdbcompression yes;rdbchecksum yes
- AOF 配置示例
- 启用:appendonly yes;appendfilename “appendonly.aof”
- 同步策略:appendfsync everysec(性能与安全折中)
- 维护:定期执行 BGREWRITEAOF 控制文件体积
- 常用运维命令
- 手动快照:BGSAVE(推荐,后台异步)或 SAVE(阻塞式,仅在维护窗口使用)
- 状态检查:INFO persistence 查看 last_save_time、aof_enabled、rdb_last_bgsave_status 等
- 配置与路径验证
- 查看数据目录:CONFIG GET dir(常见为 /var/lib/redis)
- 修改数据目录:编辑 redis.conf 的 dir 项并重启;或在运行时 CONFIG SET dir(部分场景需重启以落盘生效)
三 备份与恢复操作清单
- RDB 定时备份脚本(示例)
- 触发快照、等待完成、拷贝并压缩、保留最近 7 天
- 建议通过 cron 定时执行(如每日 02:00)
- AOF 备份与恢复
- 备份:拷贝 appendonly.aof 到备份目录(必要时先执行 BGREWRITEAOF 获取干净快照)
- 恢复:将备份文件放回 dir 指定目录,按策略重启 Redis 让其自动加载
- 恢复要点
- RDB:替换 dump.rdb 后启动;AOF:替换 appendonly.aof 后启动
- 若同时启用 RDB 与 AOF,Redis 启动优先加载 AOF(更完整)
- 恢复前建议先停止写入,恢复后校验数据一致性与服务可用性
四 高可用与异地容灾
- 主从复制
- 在从节点配置:replicaof <master_ip> <master_port>(旧版为 SLAVEOF)
- 从节点默认只读(replica-read-only yes),可做读写分离与在线热备
- Sentinel
- 部署奇数个 Sentinel 实例监控主节点,自动故障转移与通知
- 典型配置:sentinel monitor mymaster 127.0.0.1 6379 2;down-after-milliseconds 5000;failover-timeout 10000
- 异地多副本
- 跨地域部署从节点,或定期将 RDB/AOF 文件拷贝至异地存储/对象存储,形成多副本与离线归档
五 配置备份与变更管理
- 配置文件备份
- 定期拷贝 /etc/redis/redis.conf 到版本控制或备份仓库;变更前后保留历史版本与变更说明
- 配置导出与审计
- 使用 redis-cli config get * > redis_config_$(date +%F).txt 导出当前运行时配置,便于审计与回滚
- 安全与权限
- 备份文件与备份脚本设置最小权限(如 600),存放于受限目录;传输与存储加密,避免明文泄露
- 校验与演练
- 定期校验备份文件可用性(如解压、启动只读实例验证),并演练恢复流程,记录恢复时长与数据一致性结果