Redis は、永続化のための 2 つの方法を提供します。1 つは RDB 永続化 (原則として、メモリ内の Reid のデータベース レコードをディスク上の RDB 永続化に定期的にダンプすることです)、もう 1 つは AOF (ファイル追加のみ) 永続化 (原則は、 Reids の操作ログをファイルに追記形式で書き込みます)。
RDB 永続性とは、指定された時間間隔内にメモリ内のデータ セットのスナップショットをディスクに書き込むことを指します。実際の操作プロセスは、子プロセスをフォークし、最初に書き込みが成功したら、以前のファイルを置き換えてバイナリ圧縮して保存します。 (推奨学習: Redis ビデオ チュートリアル )
AOF 永続化は、サーバーによって処理されたすべての書き込みおよび削除操作をログの形式で記録します。クエリ操作は記録されませんが、記録されます。テキスト形式で、ファイルを開いて詳細な操作記録を確認できます。
RDB 永続性と AOF 永続性の違い:
1. データの保存
RDB 永続性は、すべてのキーと値のペアをキー空間に保存します (有効期限が切れた辞書のデータも含まれます)、RDB ファイル仕様に準拠したバイナリ形式で保存され、異なるデータ型に応じて異なる方法で処理されます。
AOF は、データベースのステータスを記録するために、redis サーバーによって実行されたすべての書き込みコマンドを永続的に保存します。コマンドは書き込み前に aof_buf バッファーに保存されます。
2. 永続時間の選択
RDB 永続性は、conf の save オプションを通じて永続化動作 (単位時間あたりの変更回数) を設定します。
AOF 永続性は、conf の appendfsync オプションを通じて永続性の動作 (単位時間あたりの変更数) を設定します。
3. データ復元
RDB 永続性: サーバーは RDB ファイルをロードし、スレッドをブロックし、ロードが完了するまでコマンドを受け付けません。
AOF 永続性: サーバーはネットワーク接続なしで疑似クライアントを作成し、aof ファイル内のすべてのコマンドを読み取って実行します (redis サービスが aof を有効にする場合、redis サービスはデータベースの状態を復元するために aof ファイルを選択します)
4. 期限切れのキー
RDB の永続性は、書き込みまたは読み取り時に期限切れのキーを無視します
AOF の永続性は、キーが遅延している場合に期限切れのキーを無視しません削除または定期的に削除する場合は aof ファイルに削除コマンドを追加します
5. ファイル サイズ
RDB の永続性は保存されるデータの量に応じて変化します (さまざまなデータ型に応じてさまざまなデータ圧縮の最適化があります) ) )
AOF の永続性は、実行されるコマンドの数に応じて増加します (aof の書き換えによって最適化されます)
Redis 関連の技術知識の詳細については、Redis の使用法チュートリアルColumnLearn! を参照してください。
以上がRedis の 2 つの永続化メソッドの違いは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。