Redis 持久化
Redis 提供两种持久化方式,防止重启后数据丢失。
RDB vs AOF
| RDB(快照) | AOF(追加日志) | |
|---|---|---|
| 方式 | 定时将内存数据快照保存到磁盘 | 记录每个写操作命令到文件 |
| 文件 | dump.rdb(二进制) | appendonly.aof(文本) |
| 文件大小 | 小 | 大 |
| 恢复速度 | 快(直接加载) | 慢(逐条重放命令) |
| 数据安全 | 可能丢失最近一次快照后的数据 | 更安全(每条写操作都有记录) |
RDB 配置
redis.conf 中的 save 规则:
save 3600 1 # 1小时内至少1次修改 → 快照
save 300 100 # 5分钟内至少100次修改 → 快照
save 60 10000 # 60秒内至少10000次修改 → 快照根据业务负载自行调整阈值。
手动触发
sh
SAVE # 同步快照(阻塞主线程)
BGSAVE # 异步快照(后台执行,推荐)生产环境建议
- 一般同时开启 RDB + AOF,取长补短
- RDB 做定期全量备份,AOF 保证增量数据安全
- AOF 文件可通过
BGREWRITEAOF重写压缩