档案 X-1175 / 后端工程
Redis 持久化与原理:RDB/AOF、数据结构与高级机制
工程笔记
发布 / DavidHLPL
持久化与原理篇在 Redis持久化.md、原理篇.md(56KB)与 RedisPersistence.md 中以 RDB/AOF、数据结构与过期策略为核心。本页强调可恢复性与性能取舍。
核心机制
- RDB:定时快照,恢复快,量大时 fork 成本高,可能丢最近写入。
- AOF:追加命令,
everysec/always/no三档,rewrite压缩;安全性高但重放慢。 - 原理篇进一步展开 SDS、Dict、ZipList/ListPack、QuickList 等底层结构,以及过期、淘汰(LRU/LFU)与主从复制。
适用条件
- 允许少量数据丢失、追求恢复速度 → RDB。
- 追求最小丢失 → AOF(或混合持久化)。
不适用与风险
- AOF
always在写密集时放大延迟;rewrite期间的 fork/IO 需评估。 - 原理篇版本未固定(黑马课程版本),与线上 Redis 版本可能漂移。
最小验证
- 分别开启 RDB/AOF,kill 后重启对比恢复数据与耗时。
BGREWRITEAOF期间压测,观察延迟与 fork。
证据与不确定性
- 来源事实:
ingest-redis-persistence原样收录 3 篇原文,原理篇未经版本固定验证。 - 本页综合:把快照与追加日志的权衡做成选用表。
- 未确认项:具体 Redis 版本、混合持久化开关、底层结构在不同版本有差异。
相关页面
来源与关联文档
研究记录
- 原始文档: src/content/note/zh-cn/redis-persistence-principle.md
- 来源版本: f49953fb0d4bd52a39bf81167b0c4b7dd7d78a64
- 证据状态: 有效