全书目录

第九篇:Redis 完全指南 —— 软件城市实时调度中心宇宙

第十四章:持久化 —— 实时调度中心也得有快照室和日志室

1 分钟 415 字 第 217 / 962 个阅读单元

很多人误以为:

text
Redis = 内存 = 不持久

这是不准确的。

Redis 官方文档给出的持久化选项有四种:

  • RDB
  • AOF
  • No persistence
  • RDB + AOF
#1. RDB —— 快照室

RDB 是定时做点时间快照。

优点:

  • 文件紧凑
  • 适合备份
  • 适合灾难恢复
  • 大数据集重启更快

缺点:

  • 如果故障发生在两次快照之间,可能丢最近几分钟数据

示例:

conf
save 60 1000

表示:

text
60 秒内如果至少有 1000 次变更,就做一次快照
#2. AOF —— 操作日志室

AOF 会把每次写命令追加记录下来,重启时回放。

conf
appendonly yes

官方文档指出,自 Redis 7.0 起,AOF 采用 multi-part AOF 机制:

  • base file
  • incremental files
  • manifest

AOF 常见 appendfsync 策略:

conf
appendfsync always
appendfsync everysec
appendfsync no

其中官方建议和默认重点是:

text
everysec

因为它通常在性能和安全之间更平衡。

#3. 最务实的官方建议

Redis 官方文档直接说:

如果你想要比较高的数据安全度,通常应该同时使用 RDB 和 AOF。

也就是说:

text
纯缓存场景 → 可以不持久化
重视恢复速度和备份 → RDB
重视更强耐久性 → AOF
重视综合安全性 → RDB + AOF