sql >> Databasteknik >  >> NoSQL >> Redis

Hur man ställer in Yii2 med Redis-konfiguration

I min tidigare artikel om Yii2 diskuterade jag hur man installerar och använder elasticsearch med Yii. I en annan artikel demonstrerade jag funktionerna i Yii2-ramverket genom en enkel att göra-app. Idag kommer jag att visa hur man använder Redis som cache- och sessionshanterare för Yii2. I mina tidigare artiklar om Redis har jag diskuterat användningen av Redis som en cache med anpassade PHP-webbplatser och Redis för PHP-sessionshantering.

För att installera Redis på Cloudways, gå igenom min artikel länkad ovan.

Steg 1:Installera Redis Extension of Yii 2

Öppna din composer.json fil och lägg till följande rad i kräv avsnittet :

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

Kör nu följande kommando i konsolen för att installera tillägget

komponistuppdatering

När kompositören har slutfört installationen, öppna Yii2 i webbläsaren. Öppna Yii-felsökningsfältet och leta upp installerade tillägg. Du hittar yii2-redis i listan.

Det betyder att Redis har installerats och är redo att användas.

Steg 2:Anslut Redis med Yii2

Anslut sedan Yii2-applikationen med Redis. Gå till config mappen och öppna web.php. Lägg till följande rader i komponenterna avsnitt.

       'redis'         => [           'class'    => 'yii\redis\Connection',           'hostname' => 'localhost',        >        >                                                                                                              => [           'class' => 'yii\redis\Session',       ],       'cache'         => [           'class' => 'yii\redis\precis'
 När du är klar sparar du filen. Det är dags att använda tillägget som sessionshanterare.

Steg 3:Använd Redis som en sessionshanterare med Yii2

Öppna nu din kontroller-mapp och lägg till en ny kontroller i den. Låt oss döpa det till RedisController.php. Öppna nu filen och placera följande kod i den.

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

Kör nu denna kontroller i webbläsaren och du kommer att se bilden nedan när din session har skapats.

Låt oss nu verifiera om den här sessionen har lagts till i redis-cachen . Öppna SSH-terminalen och skriv följande kommando för att öppna redis cli.

redis-cli

På kommandoraden skriver du in följande kommando för att kontrollera om en ny nyckel har lagts till:

tangenter *

Om du hittar en alfanumerisk nyckel i mix är den nyckeln sessionsnyckeln. Detta indikerar att Redis-sessionen fungerar korrekt.

Låt oss hålla det här konsolfönstret öppet för att kontrollera cache-nyckeln senare.

Steg 4:Använd Redis som cachehanterare med Yii2

Öppna nu kontrollenheten som skapades tidigare och lägg till den här nya funktionen i den.

   offentlig funktion actionCaches()   {       $cache =Yii::$app->cache; $key   ='ny'; $data  =$cache->get($key); if ($data ===false) {           $key  ='new'; $data ='En ny cache tillagd'; $cache->set($nyckel, $data); }       echo $data; }

Låt oss köra den här åtgärden i webbläsaren. Du kommer att få "En ny cache tillagd" som en utgång. Låt oss kontrollera om det är sparat i Redis eller inte. Växla till konsolen som lämnades öppen och skriv följande kommando:

tangenter *

Du hittar din nya cache-nyckel tillsammans med sessionsnyckeln som genererades tidigare.

Sammanfattning:

Som du kan se är det lätt att använda Redis med Yii2. du installerar bara tillägget och ansluter Yii2 till det. Du kan sedan använda tillägget som antingen en sessionshanterare och cache för din app. Här är den kompletta listan över ämnen som tas upp i den här serien om Yii2. Om du behöver ställa en fråga om den här artikeln, vänligen lämna en kommentar.


  1. Gör något om inget hittas med .find() mongoose

  2. Mongoose Connection

  3. Meteor, One to Many Relationship &lägga till fält endast i klientsidans samling i Publicera?

  4. använder sträng för mongodb _id