ホームページ  >  記事  >  データベース  >  Redis の永続的なバックアップとリカバリ

Redis の永続的なバックアップとリカバリ

WBOY
WBOYオリジナル
2023-05-11 08:19:501259ブラウズ

Redis は高性能のインメモリ データベースであり、その利点は高速なデータ読み取りと高い同時実行機能にあります。ただし、データはすべてメモリに保存されるため、サーバーがクラッシュしたりダウンしたりすると、データは失われます。この状況を回避するために、Redis は、必要に応じてデータを回復するためにメモリ内のデータをディスクに書き込む永続ストレージ機能を提供します。

Redis には、RDB スナップショットと AOF ログという 2 つの永続化メソッドがあります。これら 2 つの方法の実装、利点、欠点、および適用可能なシナリオについては、以下で説明します。

  1. RDB スナップショット

RDB スナップショットは Redis のスナップショット保存機構で、Redis メモリ上のデータを指定された時間間隔でディスクに保存し、RDB ファイルを生成します。 。このファイルは、すべてのデータベースのキーと値のペアが含まれるバイナリ ファイルです。データリカバリを実行するときは、ファイルを Redis メモリにロードするだけで済みます。

利点:

(1) 占有スペースがほとんどなく、データの整合性が維持され、ディスクスペースが節約されます。

(2) データの回復時間は短く、AOF ログを再生するよりも RDB ファイルを回復する方が高速です。

デメリット:

(1) RDB ファイルのデータは指定した時間内に 1 回しか保存されないため、定期的な保存時間中に Redis がダウンするとデータの損失が発生します。

(2) RDB ファイルのデータはリアルタイム性が高くないため、保存間隔が長すぎると、ビジネス上でデータの不整合の問題が発生します。

適用可能なシナリオ:

ソーシャル アプリケーションや電子商取引アプリケーションなど、大量のデータがあり、読み取りと書き込みの頻度が低いビジネス シナリオに適しています。

  1. AOF log

AOF は Append-Only File の略で、追加専用のファイルであり、Redis のもう 1 つの永続化方法です。 AOF ログは、Redis に基づいて各操作のログ レコードを生成するため、データを回復する場合は、これらの操作を再度実行するだけで済みます。

メリット:

(1) AOFではデータ損失がほとんどなく、ダウンタイムや停電などの異常事態が発生した場合でも、データの完全性を可能な限り保証できます。

(2) AOF は各操作をリアルタイムに記録するため、データのリアルタイム性が高く、ログ サイズと記録頻度を制御できます。

欠点:

(1) AOF ファイルは比較的大きく、より多くのディスク領域を占有する可能性があります。

(2) AOF ログ ファイルは時々書き換える必要があるため、パフォーマンスに負担がかかります。

該当するシナリオ:

金融業界、製薬業界など、高いデータ整合性が必要なアプリケーション シナリオに適しています。

  1. バックアップとリカバリ

Redis には、BGSAVE と SAVE という一般的に使用される 2 つのバックアップ コマンドが用意されています。

BGSAVE は、バックグラウンドでスナップショットを保存し、RDB ファイルを生成します。Redis の読み取りおよび書き込みサービスをブロックしません。したがって、集中ストームによって簡単に悪用され、Redis サービスが利用できなくなるため、慎重に使用してください。

SAVE は、Redis がスナップショットを保存して RDB ファイルを生成している間、すべての Redis リクエストをブロックします。RDB ファイルが正常に生成されるまでリクエストの受信は続行されません。データ量が多い場合やメモリ使用量が多い場合、このコマンドによりサービスが長時間ブロックされる可能性があります。

データの復元方法も非常に簡単で、Redis起動時に自動的にRDBファイルを読み込んで復元します。必要に応じて、コマンドを手動で実行して AOF ログを再実行し、すべてのデータを回復することもできます。

概要:

適切な永続化方法を選択する方法は、特定のアプリケーション シナリオとビジネス ニーズによって異なります。データの整合性に対する高い要件がある場合は、AOF ログ方式の使用を優先できます。アプリケーションがリアルタイム データに敏感でない場合は、RDB スナップショット方式を使用できます。また、2 つの永続化方式を使用して、より良い回復結果を達成します。同時に、データの定期的なバックアップとリカバリも、データのセキュリティを確保するための重要な手段の 1 つです。

以上がRedis の永続的なバックアップとリカバリの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。