Redis
 sql >> Base de Dados >  >> NoSQL >> Redis

Como configurar o Yii2 com configuração do Redis


Em meu artigo anterior sobre o Yii2, discuti como instalar e usar o elasticsearch com o Yii. Em outro artigo, demonstrei os recursos do framework Yii2 por meio de um aplicativo simples de tarefas. Hoje vou demonstrar como usar o Redis como cache e manipulador de sessão para Yii2. Em meus artigos anteriores sobre Redis, discuti o uso do Redis como um cache com sites PHP personalizados e Redis para gerenciamento de sessão PHP.



Para instalar o Redis no Cloudways, acesse meu artigo no link acima.

Etapa 1:Instalando a Extensão Redis do Yii 2


Abra seu composer.json arquivo e adicione a seguinte linha na seção require :
"yiisoft/yii2-redis": "~2.0.0"



Agora no console, execute o seguinte comando para instalar a extensão
composer update

Uma vez que o compositor tenha completado a instalação, abra o Yii2 no navegador. Abra a barra de depuração do Yii e localize as extensões instaladas. Você encontrará yii2-redis na lista.



Isso significa que o Redis foi instalado com sucesso e está pronto para uso.

Etapa 2:Conectando o Redis com o Yii2


Em seguida, conecte o aplicativo Yii2 ao Redis. Vá para config pasta e abra web.php. Adicione as seguintes linhas nos componentes seção.
       'redis'         => [

           'class'    => 'yii\redis\Connection',

           'hostname' => 'localhost',

           'port'     => 6379,

           'database' => 0,

       ],

       'session'       => [

           'class' => 'yii\redis\Session',

       ],

       'cache'         => [

           'class' => 'yii\redis\Cache',

        ],

Feito isso, salve o arquivo. É hora de usar a extensão como o manipulador de sessão.

Etapa 3:usando o Redis como manipulador de sessão com Yii2


Agora abra sua pasta de controladores e adicione um novo controlador nele. Vamos nomeá-lo RedisController.php. Agora abra o arquivo e coloque o seguinte código nele.
<?php

namespace 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->session->setFlash('contactFormSubmitted');

       $a = Yii::$app->session->getFlash('contactFormSubmitted');

       echo $a;

   }

}

Agora execute este controlador no navegador e você verá a imagem abaixo assim que sua sessão for criada.

Agora vamos verificar se esta sessão foi adicionada ao cache redis . Abra o terminal SSH e digite o seguinte comando para abrir redis cli.
redis-cli

Na linha de comando, digite o seguinte comando para verificar se uma nova chave foi adicionada:
keys *

Se você encontrar uma chave alfanumérica no mix, essa chave será a chave de sessão. Isso indica que a sessão do Redis está funcionando corretamente.



Vamos manter esta janela do console aberta para verificar a chave de cache mais tarde.

Etapa 4:usando o Redis como manipulador de cache com Yii2


Agora abra o controlador que foi criado anteriormente e adicione essa nova função nele.
   public function actionCaches()

   {

       $cache = Yii::$app->cache;

       $key   = 'new';

       $data  = $cache->get($key);

       if ($data === false) {

           $key  = 'new';

           $data = 'A newly cache added';

           $cache->set($key, $data);

       }

       echo $data;

   }

Vamos executar esta ação no navegador. Você receberá “Um cache recém-adicionado” como saída. Vamos verificar se ele está salvo no Redis ou não. Alterne para o console que foi deixado aberto e digite o seguinte comando:
keys *

Você encontrará seu novo chave de cache junto com a chave de sessão que foi gerada anteriormente.


Resumo:


Como você pode ver, é fácil usar o Redis com o Yii2. basta instalar a extensão e conectar o Yii2 com ela. Você pode usar a extensão como um manipulador de sessão e cache para seu aplicativo. Aqui está a lista completa dos tópicos abordados nesta série no Yii2. Se você precisar fazer uma pergunta sobre este artigo, por favor, deixe um comentário.

No