ホームページ > PHPフレームワーク > YII > yii2プロジェクトでredisを使用する方法

yii2プロジェクトでredisを使用する方法

爱喝马黛茶的安东尼
リリース: 2019-12-09 10:28:22
オリジナル
3277 人が閲覧しました

yii2プロジェクトでredisを使用する方法

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 サイトの他の関連記事を参照してください。

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