PHP と REDIS を使用してスケーラブルなキャッシュ構造を構築する方法
キャッシュは、Web アプリケーションのパフォーマンスを向上させる重要な方法です。 REDIS は、分散キャッシュ オプションとして使用できる、高性能のオープン ソース インメモリ データベースです。この記事では、PHP と REDIS を使用してスケーラブルなキャッシュ構造を構築する方法を紹介します。
まず、REDIS をインストールし、基本的な構成を実行する必要があります。
1.1 REDIS のダウンロードとインストール
最新バージョンの REDIS を REDIS 公式 Web サイト (https://redis.io/download) からダウンロードし、公式ドキュメントに従ってインストールできます。
1.2 REDIS サービスの開始
コマンド ラインで次のコマンドを実行して REDIS サービスを開始します:
redis-server
PHP を使用して REDIS に接続するには、REDIS PHP 拡張機能をインストールする必要があります。 REDIS PHP 拡張機能は、次のコマンドでインストールできます。
pecl install redis
php.ini ファイルに次の行を追加して、REDIS 拡張機能を有効にします。
extension=redis.so
次に、次のコードを使用します。 REDIS に接続するための PHP コード:
$redis = new Redis(); $redis->connect('127.0.0.1', 6379); // 请根据实际情况修改主机和端口
REDIS には、文字列キャッシュとハッシュ キャッシュという 2 つの一般的に使用されるキャッシュ ストレージ方法があります。この2つの使い方をそれぞれ紹介していきます。
3.1 文字列キャッシュ
文字列キャッシュは、キーと値のペアを REDIS に保存します。これにより、さまざまな種類のデータを柔軟に保存できます。
// 设置缓存 $redis->set('key', 'value'); // 获取缓存 $value = $redis->get('key'); // 判断缓存是否存在 if ($redis->exists('key')) { // 缓存存在 } else { // 缓存不存在 } // 删除缓存 $redis->del('key');
3.2 ハッシュ キャッシュ
ハッシュ キャッシュは、REDIS のハッシュ テーブルに複数のキーと値のペアを格納します。これは、複雑なデータ構造を格納するのに適しています。
// 设置缓存 $redis->hSet('hash', 'field1', 'value1'); $redis->hSet('hash', 'field2', 'value2'); // 获取缓存 $value1 = $redis->hGet('hash', 'field1'); $value2 = $redis->hGet('hash', 'field2'); // 获取哈希表中所有字段和值 $data = $redis->hGetAll('hash'); // 判断字段是否存在 if ($redis->hExists('hash', 'field1')) { // 字段存在 } else { // 字段不存在 } // 删除字段 $redis->hDel('hash', 'field1');
キャッシュには、期限切れのデータが使用されないように有効期限を設定する必要があります。 TTL (Time To Live) を使用してキャッシュの有効期限を設定できます。
// 设置缓存,并指定过期时间为60秒 $redis->set('key', 'value', 60); // 获取缓存的剩余有效时间 $ttl = $redis->ttl('key'); // 设置缓存的过期时间为0,即立即失效 $redis->expire('key', 0);
キャッシュ キー名の競合を回避し、管理を容易にするために、名前空間を使用してさまざまなキャッシュ データを区別できます。
// 设置命名空间 $namespace = 'app:cache'; // 设置缓存,命名空间+键名 $redis->set($namespace . ':key', 'value'); // 获取缓存 $value = $redis->get($namespace . ':key'); // 删除缓存 $redis->del($namespace . ':key');
上記の方法を通じて、PHP と REDIS に基づいてスケーラブルなキャッシュ構造を構築し、Web アプリケーションに高パフォーマンスのキャッシュ サポートを提供できます。同時に、実際のニーズに応じてさらなる拡張と最適化を実行できます。
概要
この記事では、PHP と REDIS を使用してスケーラブルなキャッシュ構造を構築する方法を紹介します。 REDIS をキャッシュ ストレージとして使用することで、Web アプリケーションのパフォーマンスを向上させ、データベースへのアクセス圧力を軽減できます。同時に、適切なキャッシュ有効期限と名前空間管理を通じて、より柔軟で制御可能なキャッシュ メカニズムを提供できます。
参考資料:
以上がPHP と REDIS を使用してスケーラブルなキャッシュ構造を構築する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。