Nel mio precedente articolo su Yii2, ho discusso di come installare e utilizzare elasticsearch con Yii. In un altro articolo, ho dimostrato le capacità del framework Yii2 attraverso una semplice app da fare. Oggi dimostrerò come utilizzare Redis come cache e gestore di sessione per Yii2. Nei miei precedenti articoli su Redis, ho discusso dell'uso di Redis come cache con siti PHP personalizzati e di Redis per la gestione delle sessioni PHP.

Per installare Redis su Cloudways, consulta il mio articolo collegato sopra.
Passaggio 1:installazione dell'estensione Redis di Yii 2
Apri il tuo composer.json file e aggiungi la seguente riga nella sezione richiesta :
"yiisoft/yii2-redis": "~2.0.0"

Ora nella console, esegui il seguente comando per installare l'estensione
composer update
Una volta che il compositore ha completato l'installazione, apri Yii2 nel browser. Apri la barra di debug Yii e individua le estensioni installate. Troverai yii2-redis nell'elenco.

Ciò significa che Redis è stato installato correttamente ed è pronto per l'uso.
Fase 2:collegare Redis a Yii2
Quindi, collega l'applicazione Yii2 con Redis. Vai a configurazione cartella e apri web.php. Aggiungi le seguenti righe nei componenti sezione.
'redis' => [ 'class' => 'yii\redis\Connection', 'hostname' => 'localhost', 'port' => 6379, 'database' => 0, ], 'session' => [ 'class' => 'yii\redis\Session', ], 'cache' => [ 'class' => 'yii\redis\Cache', ],
Al termine, salva il file. È ora di utilizzare l'estensione come gestore della sessione.
Fase 3:utilizzo di Redis come gestore di sessione con Yii2
Ora apri la tua cartella controller e aggiungi un nuovo controller al suo interno. Chiamiamolo RedisController.php. Ora apri il file e inserisci il seguente codice.
<?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;
}
} Ora esegui questo controller nel browser e vedrai l'immagine sotto una volta creata la tua sessione.
Ora verifichiamo se questa sessione è stata aggiunta alla cache redis . Apri il terminale SSH e digita il seguente comando per aprire redis cli.
redis-cli
Sulla riga di comando, digita il seguente comando per verificare se è stata aggiunta una nuova chiave:
keys *
Se trovi una chiave alfanumerica combinata, quella chiave è la chiave di sessione . Ciò indica che la sessione Redis funziona correttamente.

Teniamo aperta questa finestra della console per controllare la chiave della cache in un secondo momento.
Fase 4:utilizzo di Redis come gestore della cache con Yii2
Ora apri il controller che è stato creato in precedenza e aggiungi questa nuova funzione al suo interno.
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;
} Eseguiamo questa azione nel browser. Riceverai "Una nuova cache aggiunta" come uscita. Controlliamo se è salvato in Redis o meno. Passa alla console che è stata lasciata aperta e digita il seguente comando:
keys *
Troverai il tuo nuovo chiave cache insieme alla chiave di sessione generata in precedenza.

Riepilogo:
Come puoi vedere, è facile usare Redis con Yii2. devi solo installare l'estensione e connettere Yii2 con essa. Puoi quindi utilizzare l'estensione come gestore di sessione e cache per la tua app. Ecco l'elenco completo degli argomenti trattati in questa serie su Yii2. Se hai bisogno di fare una domanda su questo articolo, lascia un commento.