Yii2 の PHP フレームワークで Redis キー/値ストレージをうまく使用したい場合は、まず公式の Github ライブラリ yii2-redis を推奨する必要があります。このライブラリは、Yii2 フレームワークで Redis を使用するのに役立ち、キャッシュ、セッション、および ActiveRecord モードのサポートを提供します。
yii2-redis ライブラリのインストール
composer を使用して yii2-redis ライブラリをインストールし、ルート ディレクトリで実行することをお勧めします。プロジェクトの
php composer.phar require --prefer-dist yiisoft/yii2-redis:"~2.0.0"
または、composer.json ファイルに
"yiisoft/yii2-redis": "~2.0.0"
を追加して、composer update を実行します。内部では非常に遅いので、辛抱強く待ちます。
redis の構成
この拡張機能を正しく使用するには、アプリケーションの構成ファイルで Connection クラスを構成する必要があります。通常は次のようになります。設定ファイルはconfig\web.phpです。
次のように、redis プロジェクトをコンポーネントに追加します:
return [ //.... 'components' => [ 'redis' => [ 'class' => 'yii\redis\Connection', 'hostname' => 'localhost', 'port' => 6379, 'database' => 0, ], ] ];
これ以降、yii2 フレームワークで通常どおり redis を使用できるようになります。
例
簡単な使用方法
まず、redis コードを使用する最も簡単な方法を見てみましょう。 :
$redis = Yii::$app->redis; $key = 'username'; if ($val = $redis->get($key)) { return ['redis' => $val]; } else { $redis->set($key, 'Leon'); $redis->expire($key, 5); } return ['redis' => 'no data'];
コメントは一行もありませんが、一目瞭然です。
ユーザー名キーを探します。見つからない場合は、キー/値ストアを設定し、有効期限を 5 秒にします。
これは、redis を使用する完全な例です。
キャッシュ
それでは、次に、キャッシュに Redis を使用する方法を見てみましょう。
同様に、キャッシュとして使用するには、構成ファイル内のキャッシュ項目を変更する必要があります:
'components' => [ 'cache' => [ // 'class' => 'yii\caching\FileCache', 'class' => 'yii\redis\Cache', ], ],
redis コンポーネントを構成していない場合は、キャッシュ:
'components' => [ 'cache' => [ // 'class' => 'yii\caching\FileCache', 'class' => 'yii\redis\Cache', 'redis' => [ 'hostname' => 'localhost', 'port' => 6379, 'database' => 0, ], ], ],
サンプルコードは次のとおりです。理解しやすく、あまり説明する必要はありません:
$cache = Yii::$app->cache; $key = 'username'; if ($cache->exists($key)) { return ['cache' => $cache->get($key)]; } else { $cache->set($key, 'Leon', 5); } return ['cache' => 'no cache'];
#セッション #最後にセッションとしてredisを使用します。また、コンポーネント内で構成する必要があります:
'components' => [ 'session' => [ 'name' => 'advanced-frontend', 'class' => 'yii\redis\Session' ], ],
redis が構成されていない場合は、それも構成する必要があります:
'components' => [ 'session' => [ 'name' => 'advanced-frontend', 'class' => 'yii\redis\Session', 'redis' => [ 'hostname' => 'localhost', 'port' => 6379, 'database' => 0, ], ], ],
サンプル コードは次のとおりです:
$session = Yii::$app->session; $key = 'username'; if ($session->has($key)) { return ['session' => $session->get($key)]; } else { $session->set($key, 'Leon'); } return ['session' => 'no session'];
簡単なデモンストレーションでは、効率的なツールである Redis を適切に使用する方法を示し、全員の能力をテストします。来て!
PHP 中国語 Web サイトには、無料の
Yii 入門チュートリアル以上がyii2プロジェクトでredisを使用する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。