Redis は、分散キャッシュ、メッセージ キュー、リアルタイム統計などのシナリオで広く使用されている、高性能のキー/値ストレージ システムです。 PHP は広く使用されているスクリプト言語であり、Web 開発の分野で重要な位置を占めています。 Redis の効率性と PHP の人気により、Redis と PHP を組み合わせることで多くの優れたアプリケーションを実装できます。この記事では、PHP での Redis のアプリケーションを詳細に紹介し、読者の理解を深めるためにいくつかのサンプル コードを提供します。
1. 環境の準備
Redis を使用する前に、Redis と PHP 拡張機能をインストールして設定する必要があります。以下は、Ubuntu システムに基づくインストール方法です。
sudo apt-get install redis-server
git clone https://github.com/phpredis/phpredis.git
cd phpredis
phpize
./configure
make && make install
PECL を使用してインストールすることもできます:
pecl install redis
インストールが完了したら、以下を追加する必要があります。 php.ini の拡張設定 :
extension=redis.so
2. Redis の基本的な使い方
Redis の基本的なコマンドと使用方法をいくつか示します:
Redis に接続するには、Redis クラスの connect メソッドを使用し、Redis サービスの IP とポート番号を渡す必要があります。
$redis = new Redis();
$redis->connect('127.0.0.1', 6379);
以下に示すように、Redis の set メソッドを使用してキーと値のペアを設定できます。
$redis->set('name', 'Tom');
mset メソッドを使用して複数のキーと値のペアを設定することもできます:
$redis->mset(array('name' => 'Tom', 'age' => '18') );
次に示すように、Redis の get メソッドを使用してキーに対応する値を取得できます。 name = $redis->get(' name');
mget メソッドを使用して、複数のキーに対応する値を取得することもできます:
$result = $redis- >mget(array('name', 'age')) ;
データの削除$redis-> del('name');
unlink メソッドを使用して、複数のキーに対応する値を削除することもできます:
$redis->unlink(array('name', 'age')) ;
3. PHP での Redis のアプリケーション
キャッシュ1.1. ページ キャッシュ データの保存
Redis を使用して独自のフレームワークにページ キャッシュ データを保存するのは非常に簡単です。必要に応じて、set、get、flush およびその他のメソッドをクラスに実装し、次のコードを使用してページ キャッシュを保存する必要がある場所でこれらのメソッドを呼び出すことができます:
$redis_cache = new RedisCache();
if(!$ redis_cache->get($cache_key)){// 数据未存储在Redis中,需要从数据库中获取数据 $data = $db->query('SELECT * FROM user where id = 1'); $redis_cache->set($cache_key, $data);
// 数据已经存储在Redis中,直接从Redis中获取数据 $data = $redis_cache->get($cache_key);
1.2. セッション データの保存
For 同時実行性の高い Web アプリケーションの場合、セッション データの保存は非常に重要な問題です。 PHP に付属のセッション メカニズムを使用すると、大量の IO 操作が生成され、Web アプリケーションのパフォーマンスが低下します。 Redis をセッション ストレージのバックエンドとして使用すると、Web アプリケーションのパフォーマンスを効果的に向上させることができます。以下は、PHP で Redis をセッション ストレージとして使用する方法のサンプル コードです。
// 次のコードを呼び出して、Web サイトの初期化フェーズ中にセッションを設定します:
session_name('PHPSESSID'); // セッション名を設定しますini_set('session.save_handler' , 'redis') ; //セッションストレージメソッドを設定
ini_set('session.save_path', 'tcp://127.0.0.1:6379'); //セッションストレージパスを設定
#Message queue
$message = 'hello world';
$redis->lpush('message_queue', $message); // メッセージをメッセージキューに書き込みます
//受信側コード
$messages = $redis->brpop('message_queue', 0); // キューからメッセージを取得
リアルタイム統計
$redis->incr('page_view'); // カウンタ 1
$page_views = $redis->get('page_view'); //現在の訪問数を取得します
//UV 統計コード
$user_id = $_COOKIE['user_id'];
$user_views = $redis->scard('user_view_set'); // 現在のユニーク訪問者数を取得します
4. 概要
PHP での Redis の使用は非常に柔軟であり、多くの優れたアプリケーションの実装に使用できます。 Redis を使用する場合は、Redis の基本的なコマンドとデータ構造を理解し、特定のアプリケーション シナリオに基づいて選択する必要があります。同時に、PHP 拡張機能を使用する場合は、問題を避けるために拡張機能のインストールと構成のプロセスに注意を払う必要があります。
以上がPHPでのRedisの応用を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。