PHP および Redis データベースのバックアップとリカバリ
Redis は、オープンソースの高性能メモリ データベースであり、キャッシュ、メッセージ キュー、カウンターなどとして使用でき、Web アプリケーションで広く使用されています。 PHP の後継であり、エンドエンド開発によく使用されるツールの 1 つです。実際のアプリケーションでは、Redis データのバックアップとリカバリは非常に重要です。この記事では、PHP を使用して Redis データベースのバックアップとリカバリを行う方法を紹介します。
1. Redis データのバックアップ
Redis にはさまざまなバックアップ コマンドが用意されており、次のように実装できます。次のコマンドを実行します。 バックアップ:
SAVE
このコマンドは、現在の Redis サーバーのデータ スナップショットをハード ディスク上の .rdb ファイルに保存します。そのデフォルトのパスは、Redis サーバーの起動時の作業ディレクトリです。
Redis 構成ファイル redis.conf の dir オプションを変更することで、バックアップ ファイルの保存パスを指定することもできます。
Redis は、RDB と AOF という 2 つの永続化メソッドをサポートしています。 RDBはスナップショット形式、AOFはアペンド形式でバックアップされ、どちらの方式でもデータの安全性を確保できます。
RDB バックアップは、Redis 構成ファイル redis.conf を変更することで実現できます。次の 2 つのパラメータを設定します。
save 900 1 #900秒内如果有至少1个key进行了修改,就会执行快照备份 dir /path/to/dump/ #设置快照备份文件的保存路径
AOF バックアップは、次のコマンドを実行することで開始できます。
appendonly yes
AOF ファイルはすべての書き込み操作を記録し、AOF ファイルは次のコマンドを実行することで再構築できます。 BGREWRITEAOF コマンド。
2. Redis データの回復
Redis には、.rdb ファイルをロードするコマンドが用意されています:
BGSAVE
このコマンドはバックグラウンドでスナップショット バックアップを実行し、結果を .rdb ファイルに保存します。
次のコマンドを実行して、指定した .rdb ファイルを Redis にロードすることもできます。
CONFIG SET dir /path/to/dump/ CONFIG SET dbfilename dump.rdb SHUTDOWN
上記のコマンドを実行すると、Redis サーバーは自動的に閉じて、指定した .rdb ファイルを再ロードします。 。
RDB モードのバックアップ ファイルは直接復元でき、Redis の永続化が完了したときにバックアップ ファイルを作業ディレクトリに戻すだけで済みます。サーバーが起動され、Redis を再起動します。
AOF モードのバックアップ ファイルは、次のコマンドを実行して復元する必要があります。
redis-cli bgrewriteaof
このコマンドは、AOF ファイルを書き換えて、新しい AOF ファイルを再生成します。操作が完了したら、次のコマンドを実行して AOF ファイルをリロードできます。
redis-cli config set appendonly yes #开启AOF redis-cli config set appendfilename "appendonly.aof" #设置AOF文件名 redis-cli config set dir /path/to/dump/ #设置恢复文件的保存路径 redis-cli shutdown
上記のコマンドを実行すると、Redis サーバーは自動的に閉じて、指定された AOF ファイルをリロードします。
概要
Redis はインメモリ データベースとして Web アプリケーションで広く使用されており、データのバックアップとリカバリは非常に重要です。 Redis 組み込みコマンドを使用してバックアップおよび復元する場合は、スナップショット バックアップのファイル パス、スナップショット バックアップ コマンド BGSAVE、AOF 書き換えコマンド BGREWRITEAOF などに注意する必要があります。永続モードでの RDB バックアップは、リカバリのために作業ディレクトリに直接戻すことができますが、AOF バックアップでは、BGREWRITEAOF による AOF ファイルの再書き込みと再ロードが必要です。 PHP と Redis データベースが連携して、バックアップおよびリカバリ操作を高効率で実行します。
以上がPHP および Redis データベースのバックアップとリカバリの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。