Redis
 sql >> Datenbank >  >> NoSQL >> Redis

So richten Sie Yii2 mit der Redis-Konfiguration ein

In meinem vorherigen Artikel zu Yii2 habe ich besprochen, wie man Elasticsearch mit Yii installiert und verwendet. In einem anderen Artikel habe ich die Fähigkeiten des Yii2-Frameworks anhand einer einfachen To-Do-App demonstriert. Heute werde ich zeigen, wie man Redis als Cache- und Session-Handler für Yii2 verwendet. In meinen vorherigen Artikeln zu Redis habe ich die Verwendung von Redis als Cache mit benutzerdefinierten PHP-Sites und Redis für die Verwaltung von PHP-Sitzungen besprochen.

Um Redis auf Cloudways zu installieren, gehen Sie meinen oben verlinkten Artikel durch.

Schritt 1:Installieren der Redis-Erweiterung von Yii 2

Öffnen Sie Ihre composer.json Datei und fügen Sie die folgende Zeile in require section hinzu :

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

Führen Sie nun in der Konsole den folgenden Befehl aus, um die Erweiterung zu installieren

composer update

Sobald der Composer die Installation abgeschlossen hat, öffnen Sie Yii2 im Browser. Öffnen Sie die Debug-Leiste von Yii und suchen Sie installierte Erweiterungen. Sie finden yii2-redis in der Liste.

Das bedeutet, dass Redis erfolgreich installiert wurde und einsatzbereit ist.

Schritt 2:Redis mit Yii2 verbinden

Verbinden Sie als Nächstes die Yii2-Anwendung mit Redis. Gehen Sie zu Konfiguration Ordner und öffnen Sie web.php. Fügen Sie die folgenden Zeilen in den Komponenten hinzu Abschnitt.

       'redis'         => [

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

           'hostname' => 'localhost',

           'port'     => 6379,

           'database' => 0,

       ],

       'session'       => [

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

       ],

       'cache'         => [

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

        ],

Wenn Sie fertig sind, speichern Sie die Datei. Es ist an der Zeit, die Erweiterung als Session-Handler zu verwenden.

Schritt 3:Verwenden von Redis als Sitzungshandler mit Yii2

Öffnen Sie nun Ihren Controller-Ordner und fügen Sie einen neuen Controller hinzu. Nennen wir es RedisController.php. Öffnen Sie nun die Datei und platzieren Sie den folgenden Code darin.

<?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;

   }

}

Führen Sie nun diesen Controller im Browser aus und Sie sehen das folgende Bild, sobald Ihre Sitzung erstellt wurde.

Lassen Sie uns nun überprüfen, ob diese Sitzung zum Redis-Cache hinzugefügt wird . Öffnen Sie das SSH-Terminal und geben Sie den folgenden Befehl ein, um redis cli. zu öffnen

redis-cli

Geben Sie in der Befehlszeile den folgenden Befehl ein, um zu prüfen, ob ein neuer Schlüssel hinzugefügt wurde:

keys *

Wenn Sie in mix einen alphanumerischen Schlüssel finden, ist dieser Schlüssel der Sitzungsschlüssel. Dies zeigt an, dass die Redis-Sitzung ordnungsgemäß funktioniert.

Lassen Sie uns dieses Konsolenfenster offen lassen, um den Cache-Schlüssel später zu überprüfen.

Schritt 4:Verwenden von Redis als Cache-Handler mit Yii2

Öffnen Sie nun den zuvor erstellten Controller und fügen Sie diese neue Funktion hinzu.

   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;

   }

Lassen Sie uns diese Aktion im Browser ausführen. Sie erhalten „Ein neu hinzugefügter Cache“ als Ausgabe. Lassen Sie uns überprüfen, ob es in Redis gespeichert ist oder nicht. Wechseln Sie zur geöffneten Konsole und geben Sie den folgenden Befehl ein:

keys *

Sie werden Ihr neues finden Cache-Schlüssel zusammen mit dem zuvor generierten Sitzungsschlüssel.

Zusammenfassung:

Wie Sie sehen können, ist es einfach, Redis mit Yii2 zu verwenden. Sie installieren einfach die Erweiterung und verbinden Yii2 damit. Sie können die Erweiterung dann entweder als Sitzungshandler oder als Cache für Ihre App verwenden. Hier ist die vollständige Liste der Themen, die in dieser Serie auf Yii2 behandelt werden. Wenn Sie eine Frage zu diesem Artikel stellen müssen, hinterlassen Sie bitte einen Kommentar.


No