Redis の RDB メソッドでは永続性を実現できませんが、AOF メソッドでは永続性を実現できます。データが重要であり、損失が重大な結果を引き起こす場合、RDB 方式は明らかに不適切であり、AOF 方式を使用する必要があります。 aof メソッドは、新しい操作、変更された操作、および削除された操作のみを記録する mysql の binlog ログに似ています。違いは、redis は aof ファイルのサイズを減らすために時々 aof ファイルを書き換えることです。
AOF ワークフロー
ここで、最初にコマンドを aof_buf に書き込む必要があるのはなぜですか? aof ファイルを直接書き込むと、パフォーマンスは、ハードディスクの IO パフォーマンスに完全に依存します。 aof_buf を書き込むと、書き込みパフォーマンスが向上します。
Configuration
appendonly: aof 永続モードを有効にするかどうか。デフォルトは no です。有効にする場合は、「はい」に変更します。
dir: aof ファイル格納ディレクトリ
appendfilename: aof ファイル名
appendfsync: aof 同期モード。次の 3 つの値があります。
always: コマンドが書き込まれるたびに同期します。データ セキュリティは最高ですが、パフォーマンスは低くなります。
auto-aof-rewrite-min-size は、再書き込み時にファイル サイズがこの値より大きくなければならないことを意味します。デフォルト値は 64mb です。
auto-aof-rewrite-percentage は、現在のファイル サイズは、最後の書き換え後のファイル サイズよりも大幅に大きくなければなりません。
AOF 書き換えredis の AOF 書き換えメカニズムには、手動トリガーと自動トリガーの 2 つの方法があります。手動でトリガーするには、bgrewriteof コマンドを入力します。自動トリガーは、上記の 2 つの条件をすべて満たします。
なぜ再書き込みによってファイル サイズが削減できるのですか? いくつかの状況が考えられます:
#メイン プロセスが子プロセスをフォークします
元の aof メカニズムは引き続き実行され、同時に新しいコマンドも aof_rewrite_buf に書き込まれます
以上がRedis 永続化の AOF メソッドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。