ホームページ  >  記事  >  バックエンド開発  >  PHP アプリケーションでリクエストの有効期限管理に Redis キャッシュ テクノロジーを使用するにはどうすればよいですか?

PHP アプリケーションでリクエストの有効期限管理に Redis キャッシュ テクノロジーを使用するにはどうすればよいですか?

王林
王林オリジナル
2023-06-19 22:14:361425ブラウズ

Redis は、オープンソースのメモリ内データ構造ストレージ システムであり、アプリケーションのパフォーマンスを向上させるためにキャッシュされたデータを保存するためによく使用されます。 PHP は、Web アプリケーション開発で広く使用されている人気のスクリプト言語です。この記事では、PHP アプリケーションでリクエストの有効期限を管理するために Redis キャッシュ テクノロジーを使用する方法を紹介します。

  1. Redis Cache の概要

Redis は、キーと値が文字列やハッシュなどのさまざまなタイプのデータ構造になるキー値ストレージ システムを提供します。 . 表、リストなど。 Redis はデータをメモリに保存するため、アクセス速度が非常に速く、データベース アクセスの数を減らすためにキャッシュされたデータを保存するためによく使用されます。

  1. PHP での Redis の使用

PHP で Redis を使用するには、Redis 拡張機能をインストールする必要があります。 Redis 拡張機能は、次のコマンドを使用して Linux 環境にインストールできます。

$ pecl install redis

次に、次の行を php.ini ファイルに追加します。

extension=redis.so

Windows 環境では、Redis 拡張機能を使用できます。 PECL Web サイトからダウンロードして、PHP 拡張ディレクトリに配置します。次に、php.ini ファイルを変更して Redis 拡張機能を有効にします。

Redis を使用する最初のステップは、Redis サーバーに接続することです。次のコードを使用して、Redis オブジェクトを作成し、ローカル Redis サーバーに接続できます:

$redis = new Redis();
$redis->connect('127.0.0.1', 6379);

これにより、Redis オブジェクトが作成され、ポート 6379 を使用してローカル Redis サーバーに接続されます。 Redis サーバーに接続したら、キーと値のペアの設定、値の取得、値の削除など、さまざまな操作の実行を開始できます。

  1. 有効期限管理

データをキャッシュに保存するときは、通常、有効期限を指定する必要があります。データが一定期間後に使用されなくなった場合は、キャッシュ領域を解放するためにキャッシュから自動的に削除できます。 Redis では、各キーの有効期限を指定して、期限切れのデータが時間内に削除されるようにすることができます。以下に示すように、Redis の EXPIRE コマンドを使用してキーの有効期限を設定できます。

$redis->set('mykey', 'myvalue');
$redis->expire('mykey', 60); //设置过期时间为60秒

上記のコードは、キー mykey の値を設定し、キーの有効期限を 60 秒に設定します。 。 60 秒以内に、get コマンドを通じてキーの値を取得できます。何らかの理由で 60 秒以内にキーにアクセスしない場合、キーはキャッシュから自動的に削除されます。

expire コマンドを使用して有効期限を設定するほかに、pexpire コマンドを使用して有効期限をミリ秒単位で設定したり、expirat コマンドを使用してキーの有効期限を UNIX タイムスタンプに設定したりすることもできます。 。

PHP アプリケーションでは、set およびexpired コマンドを使用して、リクエストの結果を Redis キャッシュに保存し、適切な有効期限を設定できます。要求された結果がすでにキャッシュ内にある場合は、時間のかかるデータベース クエリを実行せずに、キャッシュから直接取得できます。たとえば、次のコードは、データベース クエリの結果を Redis キャッシュに保存し、有効期限を設定する方法を示しています。

$key = 'hash:' . $query; //生成缓存键
if ($redis->exists($key)) {
    //从缓存中获取结果
    return unserialize($redis->get($key));
} else {
    //执行数据库查询
    $result = ... //执行数据库查询代码

    //将结果存储在Redis缓存中,并设置过期时间
    $redis->set($key, serialize($result));
    $redis->expire($key, $expiration);

    //返回查询结果
    return $result;
}

上記のコードは、データベース クエリの結果を「hash:query」という名前の Redis ハッシュ テーブルに保存します。 。データがそのハッシュ テーブルにすでに存在する場合は、ハッシュ テーブルから直接取得できます。それ以外の場合は、データベース クエリが実行され、結果がシリアル化されて Redis ハッシュ テーブルに保存され、ハッシュ テーブルには適切な有効期限が設定されます。次回同じデータがリクエストされたときは、データベースに再度クエリを実行することなく、Redis キャッシュから結果を取得できます。

  1. 結論

Redis キャッシュ テクノロジを使用すると、PHP アプリケーションのパフォーマンスを大幅に向上させることができます。 PHP アプリケーションで Redis を使用すると、キャッシュされたデータを管理し、有効期限を設定することでキャッシュ メモリの使用率を最大化できます。 Redis キャッシュにデータを保存すると、データベースへのアクセス数が減り、アプリケーションの応答時間が短縮されます。

以上がPHP アプリケーションでリクエストの有効期限管理に Redis キャッシュ テクノロジーを使用するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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