ホームページ >バックエンド開発 >PHPチュートリアル >PHP と REDIS: データの永続的なストレージを実現する方法
PHP と REDIS: データの永続的ストレージを実現する方法
はじめに:
Web 開発のプロセスでは、データを永続的に保存する必要があることがよくあります。高性能のキーバリューストレージシステムとして、Redis は私たちのニーズを十分に満たすことができます。この記事では、PHP と Redis を使用してデータの永続的なストレージを実現する方法を紹介します。
1. Redis のインストールと構成
Redis の構成:
インストールが完了したら、Redis 構成ファイル (redis.conf) を入力して、いくつかの基本的な構成を実行する必要があります。
a) redis.conf ファイルを開きます
vim /etc/redis/redis.conf
b) Redis パスワードを構成します
「requirepass」パラメータを見つけて変更し、必要なパスワードに設定します。
requirepass your_passwordc) 変更を保存してファイルを閉じます。
ターミナルに次のコマンドを入力して Redis を開始します:
redis-server
次に、PHP を使用して Redis サーバーに接続し、コード内のデータを読み取り、保存する必要があります。
まず、コード内で
Redis クラスを使用して Redis オブジェクトをインスタンス化し、Redis サーバーに接続する必要があります:
$redis = new Redis(); $redis->connect('127.0.0.1', 6379); $redis->auth('your_password'); // 如果设置了Redis密码,需要进行身份验证
Redis では、
set メソッドを使用して、指定されたキーにデータを保存できます。以下はサンプル コードです:
$redis->set('my_key', 'my_value');
get メソッドを使用して、Redis から指定されたキーの値を読み取ることができます。 。以下はサンプル コードです:
$value = $redis->get('my_key'); echo $value; // 输出:my_value
Redis は単純な文字列値だけでなく、配列、オブジェクトなどの複雑なデータ型も保存できます。 . .
serialize 関数を使用すると、複雑なデータ型を文字列にシリアル化し、Redis に保存できます。サンプル コードは次のとおりです。
$data = ['name' => 'John', 'age' => 25]; $redis->set('my_data', serialize($data));データを取得する必要がある場合、
unserialize 関数を使用して、格納された文字列を元のデータ型に逆シリアル化できます。サンプルコードは以下のとおりです:
$data = unserialize($redis->get('my_data')); print_r($data); // 输出:Array ( [name] => John [age] => 25 )
上記の説明は、Redis にデータを保存し、コード内でそれを読み出すものです。ただし、Redis サーバーがシャットダウンまたは再起動されると、データは失われます。データの永続的なストレージを実現するには、Redis の RDB および AOF メカニズムを使用できます。
RDB 永続性は、Redis のデフォルトの永続化メカニズムです。特定の時間間隔に基づいてスナップショット ファイルを生成し、データをバイナリ形式でディスクに保存します。 Redis の再起動時に、スナップショット ファイルからデータを復元できます。
redis.conf ファイルを開いて、次の構成を見つけます:
save 900 1 save 300 10 save 60 10000これらの構成は、900 秒後、少なくとも 1 つのキーが発生した場合、300 秒後を意味します。少なくとも 10 個のキーが変更された場合は 60 秒後に、少なくとも 10,000 個のキーが変更された場合は RDB ファイルが生成されます。 b) RDB 永続性を有効にする:
次の構成項目からコメント記号を削除して、RDB 永続性を有効にします:
save 900 1 save 300 10 save 60 10000c) 構成ファイルを保存して閉じます。 d) Redis サーバーを再起動します。 RDB 永続化では、Redis のメモリ データをディスクに保存できますが、Redis の再起動後は、最後に生成された RDB ファイルの状態にのみ復元できます。
AOF 永続性は、Redis サーバーが受信した各書き込みコマンドを AOF ファイルの末尾に追加します。 Redis サーバーが再起動すると、AOF ファイル内のすべての書き込みコマンドが再実行され、それによってデータが復元されます。
redis.conf ファイルを開いて、次の構成を見つけます。
appendonly no appendfilename "appendonly.aof"
appendonly 構成項目の値を # に変更します。 ## はい
、AOF 永続性を有効にすることができます。 b) 構成ファイルを保存して閉じます。
c) Redis サーバーを再起動します。
参考資料:
以上がPHP と REDIS: データの永続的なストレージを実現する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。