Redisの永続化戦略

1632 ワード

Redisダウンタイム後に再起動してデータをリカバリできるようにするにはどうすればいいですか?一般的には、メモリ内のデータをハードディスク(HDD)に書き込むには、タイミングを決めて永続化する必要があります.Redisは,RDB持続化とAOF持続化の2つの異なる持続化機構をサポートする.

RDB持続化(フルバックアップ)


RDB永続化とは、メモリ内のデータセットスナップショットを所定の時間間隔でディスクに書き込むことです.実際にforkサブスレッドは、まずデータセットをテンポラリファイルに書き込む、書き込みに成功した後、直前のファイルを置き換え、バイナリ圧縮ファイルを用い、RDBはRedisのデフォルトの永続化方式であり、対応するディレクトリの下でdumpを生産する.rdbファイル、再起動はdumpをロードする.rdbファイルはデータを復元します.
RDBの利点:
  • 便利持続化:dumpは1つしかありません.rdbファイル;
  • 災害対応:1つのファイルを安全なディスクに保存できます.
  • 性能が良い:forkサブスレッドは書き込み操作を完了し、メインスレッドはコマンドの処理を継続する.
  • 効率が高い:どのようにデータセットが大きいか、RDB起動効率はAOFより
  • 高い
    RDBの欠点:
  • データのセキュリティが低い:RDBは一定時間ごとに永続化されるため、データが失われる可能性があります.
  • RDBはforkサブスレッドによってデータの永続化作業を支援するため、データセットが大きい場合、サービス全体が数百ミリ秒、さらには1分停止する可能性があります.

  • AOF持続化(インクリメンタルバックアップ)


    AOF永続化は,各添削操作をログ形式で記録してファイルに追加する.AOFの出現はRDBバックアップの不足(データの不一致)を補うためである.
    AOFの永続化はRDBの永続化よりもリアルタイム性が優れている.
    AOFのバックアップポリシー:
    Redisのプロファイルには、3つの異なるAOF永続化方法があります.
  • appendfsync always:データ変更が発生するたびに同期します.
  • appendfsync everysec:毎秒1回
  • 同期
  • appendsync no:オペレーティングシステムに同期をいつ行うかを決定させます.

  • AOFの利点:
  • AOFはリアルタイム性がよく、データの安全性が高い.
  • AOFはappendモードでファイルを書き、途中サーバがダウンタイムしてもredis-check-aofツールでデータ整合性の問題を解決できます.
  • AOFメカニズムのrewriteモード(ファイルが大会を経てコマンドを統合書き換える)は、誤操作などのコマンドの一部を削除することができる
  • .
    AOF欠点:
  • AOFファイルはRDBファイルより大きく、回復が遅い.
  • 同期ポリシーによっては、AOFはRDBよりも実行効率が遅くなることが多い.

  • おすすめ読書


    Redisの持続化メカニズムを理解する必要があります
    Redisのテーマ

    歴史的な文章.


    mybatis&&データベース最適化&&キャッシュディレクトリJAVA&&Spring&&SpringBoot 2.xディレクトリ