缓存与 KV 存储Persistence
持久化 RDB / AOF 是什么?
RDB 定期存快照,AOF 逐条记命令,重启后靠它们恢复
类比:RDB 是定期拍照,AOF 是写日记
RDB
在指定时间点 fork 子进程,把内存数据写成二进制快照。文件小、恢复快,适合做冷备和主从全量同步。
缺点是 fork 时可能阻塞(数据量大时几百毫秒),且两次快照之间的数据会丢。
AOF
把每条写命令追加到日志,重启时重放。appendfsync 有三种策略:always(最安全最慢)、everysec(默认,最多丢 1 秒)、no(交给操作系统)。
AOF 文件会越来越大,需要 AOF rewrite 重写压缩。
怎么选
生产一般两个都开:RDB 做定期冷备,AOF 保证秒级不丢。
- 纯缓存场景可以只开 RDB,甚至不开
- 把 Redis 当存储用(如分布式锁的元数据)必须开 AOF
- 4.0+ 支持混合持久化(aof-use-rdb-preamble),恢复更快