ご存知のとおり、redis はインメモリ データベースです。データをメモリに保存するため、読み取りが高速化されますが、データ セキュリティに関して新たな問題も生じます。つまり、redis が配置されているサーバーがダウンすると、redis はデータベース すべてのデータが失われます。
この問題を解決するために、redis は永続化機能を提供します。平たく言えば、メモリ内のデータをハードディスクに書き込むことです。
Redis は、さまざまなレベルでさまざまな永続化メソッドを提供します:
1. RDB 永続化は、指定された時間間隔で実行できます。データセットの特定時点のスナップショット。
2. AOF は、サーバーによって実行されたすべての書き込み操作コマンドを永続的に記録し、サーバーの起動時にこれらのコマンドを再実行することでデータ セットを復元します。 AOF ファイル内のすべてのコマンドは Redis プロトコル形式で保存され、新しいコマンドがファイルの末尾に追加されます。 Redis は、AOF ファイルのサイズがデータ セットの状態を保存するために必要な実際のサイズを超えないように、バックグラウンドで AOF ファイルを書き換えることもできます。
3. Redis は、AOF 永続性と RDB 永続性を同時に使用することもできます。この場合、Redis が再起動すると、AOF ファイルを使用してデータセットを復元することが優先されます。これは、AOF ファイルによって保存されたデータセットは、通常、RDB ファイルによって保存されたデータセットよりも完全であるためです。
4. 永続化機能をオフにします。データはメモリ内にのみ存在させ、再起動するとデータは消えます。
Redis の RDB 永続性 (RDB はデフォルトで有効です)
1.スナップショット:
デフォルトでは、Redis はスナップショットをダンプにダンプします.rdb ファイル。さらに、構成ファイルを通じて Redis サーバーのダンプ スナップショットの頻度を変更することもできます。redis.conf ファイルを開いた後、save を検索すると、次の構成情報が表示されます:
save 900 1 #at 900 秒 (15 分) 後、少なくとも 1 つのキーが変更された場合は、メモリ スナップショットをダンプします。
save 300 10 #300 秒 (5 分) 後、少なくとも 10 個のキーが変更された場合は、メモリ スナップショットをダンプします。
save 60 10000 #60 秒 (1 分) 後、少なくとも 10000 個のキーが変更された場合は、メモリ スナップショットをダンプします。
2. ダンプ スナップショット メカニズム:
1). Redis は最初に子プロセスをフォークします。
2). 子プロセスは、スナップショット データを一時 RDB ファイルに書き込みます。
3). 子プロセスがデータの書き込み操作を完了したら、古いファイルを一時ファイルに置き換えます。
以上がRedis 永続性はデフォルトで有効になっていますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。