ホームページ  >  記事  >  バックエンド開発  >  PHP および Redis データベースのバックアップとリカバリ

PHP および Redis データベースのバックアップとリカバリ

WBOY
WBOYオリジナル
2023-05-16 08:06:051456ブラウズ

PHP および Redis データベースのバックアップとリカバリ

Redis は、オープンソースの高性能メモリ データベースであり、キャッシュ、メッセージ キュー、カウンターなどとして使用でき、Web アプリケーションで広く使用されています。 PHP の後継であり、エンドエンド開発によく使用されるツールの 1 つです。実際のアプリケーションでは、Redis データのバックアップとリカバリは非常に重要です。この記事では、PHP を使用して Redis データベースのバックアップとリカバリを行う方法を紹介します。

1. Redis データのバックアップ

  1. バックアップに Redis 組み込みコマンドを使用する

Redis にはさまざまなバックアップ コマンドが用意されており、次のように実装できます。次のコマンドを実行します。 バックアップ:

SAVE

このコマンドは、現在の Redis サーバーのデータ スナップショットをハード ディスク上の .rdb ファイルに保存します。そのデフォルトのパスは、Redis サーバーの起動時の作業ディレクトリです。

Redis 構成ファイル redis.conf の dir オプションを変更することで、バックアップ ファイルの保存パスを指定することもできます。

  1. Redis 永続性の使用

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 データの回復

  1. Redis 組み込みコマンドを使用してバックアップを復元する

Redis には、.rdb ファイルをロードするコマンドが用意されています:

BGSAVE

このコマンドはバックグラウンドでスナップショット バックアップを実行し、結果を .rdb ファイルに保存します。

次のコマンドを実行して、指定した .rdb ファイルを Redis にロードすることもできます。

CONFIG SET dir /path/to/dump/
CONFIG SET dbfilename dump.rdb
SHUTDOWN

上記のコマンドを実行すると、Redis サーバーは自動的に閉じて、指定した .rdb ファイルを再ロードします。 。

  1. Redis の永続性を使用したバックアップの復元

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 サイトの他の関連記事を参照してください。

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