Redis基本構成のRDB永続性

テスト環境:

ウィンドウズ

RDB トリガーの仕組み

save bgsave flushall が自動的にトリガーされます (構成ファイルの構成)

保存コマンドのトリガー:

トリガー方法:最初に手動で dump.rdb ファイルを削除します。

 save コマンドを実行すると、dump.rdb ファイルが自動的に生成され、テストは成功します。

bgsave コマンドは以下をトリガーします。

トリガー方法: dump.rdb ファイルを手動で削除する

 bgsave コマンドを実行すると、dump.rdb ファイルが自動的に生成され、テストは成功します。

操作分析: このコマンドを実行すると、Redis はバックグラウンドで非同期にスナップショット操作を実行し、スナップショットはクライアントの要求にも応答できます。具体的なプロセスは、Redis プロセスが fork 操作を実行して子プロセスを作成し、RDB 永続化プロセスは子プロセスが担当し、完了後に自動的に終了します。ブロッキングはフォーク フェーズ中にのみ発生し、通常は短時間です。bgsave コマンドは、Redis 内部 RDB 操作のデフォルト モードでもあります

flushall コマンドのトリガー

トリガー方法: dump.rdb ファイルを手動で削除してから、flushall コマンドをトリガーします。

 flushall コマンドを実行すると、dump.rdb ファイルが自動的に生成され、テストは成功します。

 保存と bgsave

保存コマンド bgsave コマンド
読み書き 同期する 非同期
クライアント コマンドのブロック はい いいえ
追加のメモリ消費 いいえ はい
新しいプロセスを開始 いいえ はい

rdbファイルを復元する

最初にダンプ、rdb ファイルを削除します

 キーを削除

 dump.rdb のデータを復元します

Windows 環境で redis-server.exe を直接起動するだけで (Linux 環境では bin ディレクトリに置きます)、テストは成功します。

RDB 永続化の長所と短所

欠点:

サーバーがダウンすると、最後に変更されたデータが失われます

永続化すると、子プロセスは fork になり、一定量のメモリ領域を占有します

アドバンテージ:

大規模データ復旧に最適!
データの整合性は必要ありません!

RDB 永続性の概要:

RDB は、redis のデフォルトの永続化方法です。

RDB 永続化トリガー メソッドには、構成ファイルで構成された save (一般的に使用されない)、bgsave、flushall、および save [time] [operationChange] が含まれます (テストは有効になっていません)。

RDB 永続化プロセス

    指定された時間間隔内に redis メモリ内のデータ セットのスナップショットをディスクに書き込むことを指します. 実現原理は、指定された時間間隔内に redis サービスが最初に子プロセスを fork し、子プロセスがデータ セットを書き込むことです.一時ファイルに. 書き込みが成功したら、以前のファイルを置き換え、バイナリ圧縮で保存し、dump.rdb ファイルを生成してディスクに保存します。

おすすめ

転載: blog.csdn.net/qq_38423256/article/details/128695205