sql >> データベース >  >> NoSQL >> Redis

Redis構成でYii2をセットアップする方法

    Yii2に関する前回の記事では、Yiiでelasticsearchをインストールして使用する方法について説明しました。別の記事では、簡単なToDoアプリを使用してYii2フレームワークの機能を示しました。今日は、Yii2のキャッシュおよびセッションハンドラーとしてRedisを使用する方法を示します。 Redisに関する以前の記事では、カスタムPHPサイトでのキャッシュとしてのRedisの使用と、PHPセッション管理のためのRedisの使用について説明しました。

    CloudwaysにRedisをインストールするには、上記のリンク先の記事をご覧ください。

    ステップ1:Yii2のRedis拡張機能をインストールする

    composer.jsonを開きます ファイルを作成し、必須セクションに次の行を追加します :

     "yiisoft / yii2-redis": "〜2.0.0" 

    コンソールで、次のコマンドを実行して拡張機能をインストールします

    作曲家の更新

    コンポーザーのインストールが完了したら、ブラウザーでYii2を開きます。 Yiiデバッグバーを開き、インストールされている拡張機能を見つけます。リストにyii2-redisがあります。

    これは、Redisが正常にインストールされ、使用できる状態になっていることを意味します。

    ステップ2:RedisとYii2の接続

    次に、Yii2アプリケーションをRedisに接続します。 configに移動します フォルダを開き、web.phpを開きます。 コンポーネントに次の行を追加します セクション。

    'redis' => ['class' =>'yii \ redis \ Connection'、'hostname' =>'localhost'、6'>' port'==> ['class' =>'yii \ redis \ Session'、]、'cache' => ['class' =>'yii \ redis \ Cache'、
    完了したら、ファイルを保存します。拡張機能をセッションハンドラーとして使用するときが来ました。

    ステップ3:Yii2でのセッションハンドラーとしてのRedisの使用

    次に、コントローラーフォルダーを開きます。 その中に新しいコントローラーを追加します。 RedisController.phpという名前を付けましょう。 次に、ファイルを開き、次のコードをファイルに配置します。

     <?phpnamespace app \ controllers; use Yii; use yii \ filters \ AccessControl; use yii \ web \ Controller; use yii \ filters \ VerbFilter; class RedisController extends Controller {public function actionIndex(){Yii ::$ app ->セッション->setFlash('contactFormSubmitted'); $ a =Yii ::$ app-> session-> getFlash('contactFormSubmitted');エコー$a; }} 

    このコントローラーをブラウザーで実行すると、セッションが作成されると以下の画像が表示されます。

    次に、このセッションがredisキャッシュに追加されているかどうかを確認しましょう 。 SSHターミナルを開き、次のコマンドを入力してrediscliを開きます。

     redis-cli 

    コマンドラインで次のコマンドを入力して、新しいキーが追加されたかどうかを確認します。

    キー*

    英数字のキーが混在している場合、そのキーがセッションキーです。 これは、Redisセッションが正しく機能していることを示しています。

    後でキャッシュキーを確認するために、このコンソールウィンドウを開いたままにしておきましょう。

    ステップ4:Yii2でのキャッシュハンドラーとしてのRedisの使用

    次に、前に作成したコントローラーを開き、この新しい関数を追加します。

     public function actionCaches(){$ cache =Yii ::$ app-> cache; $ key ='new'; $ data =$ cache-> get($ key); if($ data ===false){$ key ='new'; $ data='新しくキャッシュが追加されました'; $ cache-> set($ key、$ data); } echo $ data; } 

    このアクションをブラウザで実行してみましょう。 「新しくキャッシュが追加されました」が表示されます 出力として。 Redisに保存されているかどうかを確認しましょう。開いたままのコンソールに切り替えて、次のコマンドを入力します。

    キー*

    新しいが見つかります 以前に生成されたセッションキーと一緒にキャッシュキー。

    概要:

    ご覧のとおり、Yii2でRedisを使用するのは簡単です。拡張機能をインストールして、Yii2を接続するだけです。その後、拡張機能をアプリのセッションハンドラーおよびキャッシュとして使用できます。 Yii2に関するこのシリーズで取り上げられているトピックの完全なリストは次のとおりです。この記事について質問する必要がある場合は、コメントを残してください。


    1. mongoDB関連の問題を効率的に解決するにはどうすればよいですか?

    2. Mongoでnullではないことをどのようにクエリしますか?

    3. MongoDB $ stdDevSamp

    4. Javaドライバーを使用したMongoDBアグリゲーション