sql >> Database teknologi >  >> NoSQL >> Redis

Sådan konfigurerer du Yii2 med Redis-konfiguration

I min tidligere artikel om Yii2 diskuterede jeg, hvordan man installerer og bruger elasticsearch med Yii. I en anden artikel demonstrerede jeg Yii2-frameworkets muligheder gennem en simpel to-do-app. I dag vil jeg demonstrere, hvordan man bruger Redis som en cache- og sessionshandler til Yii2. I mine tidligere artikler om Redis har jeg diskuteret brugen af ​​Redis som en cache med tilpassede PHP-websteder og Redis til PHP-sessionsstyring.

For at installere Redis på Cloudways, gå gennem min artikel, der er linket til ovenfor.

Trin 1:Installation af Redis Extension of Yii 2

Åbn din composer.json fil og tilføj følgende linje i kræve sektion :

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

Kør nu følgende kommando i konsollen for at installere udvidelsen

komponistopdatering

Når komponisten har fuldført installationen, skal du åbne Yii2 i browseren. Åbn Yii debug bar og find installerede udvidelser. Du finder yii2-redis på listen.

Det betyder, at Redis er blevet installeret og er klar til brug.

Trin 2:Forbind Redis med Yii2

Forbind derefter Yii2-applikationen med Redis. Gå til config mappe og åbn web.php. Tilføj følgende linjer i komponenterne afsnit.

       'redis'         => [           'klasse'    => 'yii\redis\Connection',           'værtsnavn' => 'localhost',       >        >         >         >                                                                               >                 => [           'class' => 'yii\redis\Session',       ],       'cache'          => [           'class' => 'yii\redis\pres.
 Når du er færdig, gem filen. Det er tid til at bruge udvidelsen som sessionshandler.

Trin 3:Brug af Redis som en sessionshåndtering med Yii2

Åbn nu din controller-mappe og tilføje en ny controller i den. Lad os kalde det RedisController.php. Åbn nu filen og indsæt følgende kode i den.

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

Kør nu denne controller i browseren, og du vil se billedet nedenfor, når din session er oprettet.

Lad os nu kontrollere, om denne session er føjet til redis-cachen . Åbn SSH-terminalen og skriv følgende kommando for at åbne redis cli.

redis-cli

Indtast følgende kommando på kommandolinjen for at kontrollere, om der er tilføjet en ny nøgle:

taster *

Hvis du finder en alfanumerisk nøgle i mix, er denne nøgle sessionsnøglen. Dette indikerer, at Redis-sessionen fungerer korrekt.

Lad os holde dette konsolvindue åbent for at tjekke cache-nøglen senere.

Trin 4:Brug af Redis som cachehandler med Yii2

Åbn nu controlleren, der blev oprettet tidligere, og tilføj denne nye funktion i den.

   offentlig funktion actionCaches()   {       $cache =Yii::$app->cache; $key   ='ny'; $data  =$cache->get($key); if ($data ===falsk) {           $key  ='ny'; $data ='En nyligt tilføjet cache'; $cache->set($nøgle, $data); }       ekko $data; }

Lad os køre denne handling i browseren. Du får "En nyligt tilføjet cache" som output. Lad os tjekke, om det er gemt i Redis eller ej. Skift over til konsollen, som blev efterladt åben, og skriv følgende kommando:

taster *

Du finder din nye cache-nøgle sammen med sessionsnøglen, der blev genereret tidligere.

Oversigt:

Som du kan se, er det nemt at bruge Redis med Yii2. du installerer blot udvidelsen og forbinder Yii2 med den. Du kan derefter bruge udvidelsen som enten sessionshandler og cache for din app. Her er den komplette liste over emner, der er dækket i denne serie om Yii2. Hvis du har brug for at stille et spørgsmål om denne artikel, bedes du efterlade en kommentar.


  1. Spring Boot Integration Test med Embedded MongoDB

  2. Sessionstilstand med Azure Redis Cache fungerer ikke på flere forekomster

  3. Multi-parameter match-finder med Redis

  4. Konfiguration af redis til konsekvent at fjerne ældre data først