PHP と REDIS: データの永続的なストレージを実現する方法

WBOY
リリース: 2023-07-21 12:48:01
オリジナル
1375 人が閲覧しました

PHP と REDIS: データの永続的ストレージを実現する方法

はじめに:
Web 開発のプロセスでは、データを永続的に保存する必要があることがよくあります。高性能のキーバリューストレージシステムとして、Redis は私たちのニーズを十分に満たすことができます。この記事では、PHP と Redis を使用してデータの永続的なストレージを実現する方法を紹介します。

1. Redis のインストールと構成

  1. Redis をダウンロードしてインストールします:
    まず、Redis 公式 Web サイトから Redis をダウンロードしてインストールする必要があります。特定のインストール手順については、ここでは説明しません。
  2. Redis の構成:
    インストールが完了したら、Redis 構成ファイル (redis.conf) を入力して、いくつかの基本的な構成を実行する必要があります。

    a) redis.conf ファイルを開きます

    vim /etc/redis/redis.conf
    ログイン後にコピー

    b) Redis パスワードを構成します
    「requirepass」パラメータを見つけて変更し、必要なパスワードに設定します。

    requirepass your_password
    ログイン後にコピー

    c) 変更を保存してファイルを閉じます。

  3. Redis を開始します:

    ターミナルに次のコマンドを入力して Redis を開始します:

    redis-server
    ログイン後にコピー

2. PHP を使用して、 Redis サーバー

次に、PHP を使用して Redis サーバーに接続し、コード内のデータを読み取り、保存する必要があります。

    Redis 拡張機能のインストール:
  1. PHP で Redis を使用するには、最初に Redis 拡張機能をインストールする必要があります。 pecl またはソース コードのコンパイルを通じてインストールできます。
  2. Redis サーバーへの接続:

    まず、コード内で
    Redis クラスを使用して Redis オブジェクトをインスタンス化し、Redis サーバーに接続する必要があります:

    $redis = new Redis();
    $redis->connect('127.0.0.1', 6379);
    $redis->auth('your_password'); // 如果设置了Redis密码,需要进行身份验证
    ログイン後にコピー

  3. Redis へのデータの保存:

    Redis では、
    set メソッドを使用して、指定されたキーにデータを保存できます。以下はサンプル コードです:

    $redis->set('my_key', 'my_value');
    ログイン後にコピー

  4. Redis からのデータの読み取り:


    get メソッドを使用して、Redis から指定されたキーの値を読み取ることができます。 。以下はサンプル コードです:

    $value = $redis->get('my_key');
    echo $value; // 输出:my_value
    ログイン後にコピー

  5. 複雑なデータ型の保存:

    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 )
    ログイン後にコピー

3. データの永続ストレージを実装する

上記の説明は、Redis にデータを保存し、コード内でそれを読み出すものです。ただし、Redis サーバーがシャットダウンまたは再起動されると、データは失われます。データの永続的なストレージを実現するには、Redis の RDB および AOF メカニズムを使用できます。

  1. RDB 永続性 (スナップショット永続性):

    RDB 永続性は、Redis のデフォルトの永続化メカニズムです。特定の時間間隔に基づいてスナップショット ファイルを生成し、データをバイナリ形式でディスクに保存します。 Redis の再起動時に、スナップショット ファイルからデータを復元できます。

    a) RDB 永続性を構成します:

    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 10000
    ログイン後にコピー
    ログイン後にコピー

    c) 構成ファイルを保存して閉じます。

    d) Redis サーバーを再起動します。

    RDB 永続化では、Redis のメモリ データをディスクに保存できますが、Redis の再起動後は、最後に生成された RDB ファイルの状態にのみ復元できます。

  2. AOF 永続性 (ファイル永続性の追加):

    AOF 永続性は、Redis サーバーが受信した各書き込みコマンドを AOF ファイルの末尾に追加します。 Redis サーバーが再起動すると、AOF ファイル内のすべての書き込みコマンドが再実行され、それによってデータが復元されます。

    a) AOF 永続性を構成します。

    redis.conf ファイルを開いて、次の構成を見つけます。

    appendonly no
    appendfilename "appendonly.aof"
    ログイン後にコピー

    appendonly 構成項目の値を # に変更します。 ## はい、AOF 永続性を有効にすることができます。 b) 構成ファイルを保存して閉じます。

    c) Redis サーバーを再起動します。

  3. 結論:
この記事では、PHP と Redis を使用してデータの永続的なストレージを実現する方法を紹介します。 Redis の RDB および AOF 永続化メカニズムを構成することにより、Redis サーバーの再起動後もデータが引き続き利用可能であることを確認できます。同時に、サンプルコードの解説を通じて、実際のプロジェクトでデータストレージに PHP と Redis を使用する方法をより明確に理解できます。


参考資料:

Redis 公式 Web サイト: https://redis.io/
  • Redis ソースコード: https://github.com/redis/redis

以上がPHP と REDIS: データの永続的なストレージを実現する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート