Dans mon article précédent sur Yii2, j'ai expliqué comment installer et utiliser elasticsearch avec Yii. Dans un autre article, j'ai démontré les capacités du framework Yii2 via une simple application de tâches. Aujourd'hui, je vais vous montrer comment utiliser Redis comme cache et gestionnaire de session pour Yii2. Dans mes précédents articles sur Redis, j'ai abordé l'utilisation de Redis comme cache avec des sites PHP personnalisés et Redis pour la gestion de session PHP.
Pour installer Redis sur Cloudways, passez par mon article lié ci-dessus.
Étape 1 :Installer l'extension Redis de Yii 2
Ouvrez votre composer.json fichier et ajoutez la ligne suivante dans la section requise :
"yiisoft/yii2-redis":"~2.0.0"
Maintenant dans la console, exécutez la commande suivante pour installer l'extension
mise à jour du compositeur
Une fois que le compositeur a terminé l'installation, ouvrez Yii2 dans le navigateur. Ouvrez la barre de débogage Yii et localisez les extensions installées. Vous trouverez yii2-redis dans la liste.
Cela signifie que Redis a été installé avec succès et est prêt à être utilisé.
Étape 2 :Connecter Redis à Yii2
Ensuite, connectez l'application Yii2 à Redis. Dirigez-vous vers config dossier et ouvrez web.php. Ajoutez les lignes suivantes dans les composants rubrique.
'redis' => [ 'class' => 'yii\redis\Connection', 'hostname' => 'local host', 'port' => 6379, ' => [ 'class' => 'yii\redis\Session', ], 'cache' => [ 'class' => 'yii\redis\Cache', ],
Une fois terminé, enregistrez le fichier. Il est temps d'utiliser l'extension comme gestionnaire de session.
Étape 3 :Utiliser Redis comme gestionnaire de session avec Yii2
Ouvrez maintenant votre dossier de contrôleurs et ajoutez-y un nouveau contrôleur. Appelons-le RedisController.php. Ouvrez maintenant le fichier et placez-y le code suivant.
session->setFlash('contactFormSubmitted'); $a =Yii ::$app->session->getFlash('contactFormSubmitted'); echo $a; }}
Maintenant, exécutez ce contrôleur dans le navigateur et vous verrez l'image ci-dessous une fois votre session créée.
Vérifions maintenant si cette session est ajoutée au cache Redis . Ouvrez le terminal SSH et tapez la commande suivante pour ouvrir redis cli.
redis-cli
Sur la ligne de commande, saisissez la commande suivante pour vérifier si une nouvelle clé a été ajoutée :
touches *
Si vous trouvez une clé alphanumérique dans mix, cette clé est la clé de session . Cela indique que la session Redis fonctionne correctement.
Laissons cette fenêtre de console ouverte pour vérifier la clé de cache plus tard.
Étape 4 :Utiliser Redis comme gestionnaire de cache avec Yii2
Ouvrez maintenant le contrôleur qui a été créé précédemment et ajoutez-y cette nouvelle fonction.
public function actionCaches() { $cache =Yii::$app->cache ; $clé ='nouveau' ; $data =$cache->get($key); if ($data ===false) { $key ='new' ; $data ='Un cache nouvellement ajouté'; $cache->set($key, $data); } écho $données ; }Exécutons cette action dans le navigateur. Vous obtiendrez "Un nouveau cache ajouté" comme sortie. Vérifions s'il est enregistré dans Redis ou non. Basculez vers la console qui était restée ouverte et tapez la commande suivante :
touches *Vous trouverez votre nouveau clé de cache avec la clé de session qui a été générée précédemment.
Résumé :
Comme vous pouvez le voir, il est facile d'utiliser Redis avec Yii2. il vous suffit d'installer l'extension et de connecter Yii2 avec elle. Vous pouvez ensuite utiliser l'extension comme gestionnaire de session et cache pour votre application. Voici la liste complète des sujets abordés dans cette série sur Yii2. Si vous avez besoin de poser une question sur cet article, veuillez laisser un commentaire.