資料 X-1117 / バックエンド工学
Redis 永続化と原理:RDB/AOF、データ構造と高度な仕組み
技術ノート
公開 / DavidHLPL
永続化と内部構造は Redis持久化.md、原理篇.md(56KB)、RedisPersistence.md で RDB/AOF、データ構造、期限切れ戦略を中心に扱われています。本ページは回復可能性と性能のトレードオフを強調します。
核心メカニズム
- RDB:定期的なスナップショット、回復が速い、大規模データでは fork コストが高く、最新の書き込みを失う可能性がある。
- AOF:コマンドの追記、3 つの
fsyncモード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 つの出典ノートを verbatim で収録;内部構造記事はバージョン固定で検証されていない。 - 本ページの統合:スナップショットと追記ログのトレードオフを選択表にしました。
- 未確認:具体的な Redis バージョン、ハイブリッド永続化スイッチ、基盤構造はバージョンによって異なります。
関連ページ
出典と関連文書
研究記録
- 元の文書: src/content/note/ja/redis-persistence-principle.md
- 出典リビジョン: f49953fb0d4bd52a39bf81167b0c4b7dd7d78a64
- 証拠の状態: 有効