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.