Memcached
 sql >> Base de données >  >> NoSQL >> Memcached

Comment utiliser Memcached avec le framework Yii2

Dans l'article précédent sur les technologies de mise en cache, j'ai expliqué comment intégrer Redis à Yii2 en tant que cache et gestionnaire de session. Dans ce blog, je vais montrer comment utiliser Memcached avec Yii2.

Memcached est un système de mise en cache de mémoire distribuée libre et open source. Il est principalement utilisé pour accélérer les sites Web dynamiques basés sur une base de données en mettant en cache les données afin de réduire les temps d'exécution et d'accès. Cloudways est préinstallé et activé Memcached sur les serveurs des utilisateurs et je vais l'utiliser dans ce tutoriel.

Yii2 fournit sa propre classe Memcache, qui fonctionne à la fois avec Memcache et Memcached. Commençons avec ce cours.

Connexe : Comment héberger le framework Yii 2 sur Cloudways à l'aide de Composer

Ajout de la classe Memcache dans Yii2

Accédez à la configuration dans le dossier principal de Yii2 et ouvrez web.php. Sous composants ajoutez cette ligne :

       'cache'         => [

           'class'        => 'yii\caching\MemCache',

           'useMemcached' => true,

       ],

En définissant useMemcached comme vrai, Yii2 saura que j'utilise Yii2 Memcached.

Utiliser Memcached dans Yii2

Comme j'ai déjà ajouté la classe Yii2 Memcache, il est temps d'ajouter et de sauvegarder des données dans Memcached. Accédez aux contrôleurs dossier dans Yii2, créez-y un nouveau fichier et nommez-le MemController.php. Collez-y le code suivant.

namespace app\controllers;

use Yii;

use yii\web\Controller;

class MemController extends Controller

{

   public function actionIndex()

   {

       $cache = Yii::$app->cache;

       $key   = 'Mem';

       $data  = $cache->get($key);

       if ($data === false) {

           $key  = 'Mem';

           $data = 'My First Memcached Data';

           $cache->set($key, $data);

       }

       echo $data;

   }

}

Après avoir enregistré le fichier, lancez le navigateur et pointez-le vers l'index de ce contrôleur en ajoutant ?r=mem/index . Le résultat serait cette ligne :

Maintenant, les données sont enregistrées dans Memcached.

Actualisez la page une fois de plus afin de vérifier que les données proviennent de Memcached et non d'autres sources.

Vérifions maintenant les données et vérifions si Memcached est en cours d'accès.


Préparez-vous pour la mise à jour de Core Web Vitals

Ebook pour accélérer votre site Web avant de commencer à perdre du trafic.

Merci

Votre liste est en route vers votre boîte de réception.


Vérification des données dans Memcached

Il existe deux façons de vérifier que les données sont enregistrées dans Memcached

1. Utilisation de la console :

Ouvrez votre console et tapez la commande suivante pour établir une connexion au serveur Memcached :

hôte local telnet 11211

Une fois connecté, vous obtiendrez l'écran suivant :

Nous sommes maintenant connectés au serveur Memcached. Tapez ce qui suit pour vérifier si votre clé existe.

obtenir de la mémoire

Si vous voyez l'écran suivant, votre valeur a été ajoutée avec succès dans MemCached.

Ensuite, vérifiez les hits sur Memcached. Tapez la commande suivante :

statistiques

Recherchez maintenant la variable get_hits . Vous trouverez le nombre de hits que Memcached a reçus et les données renvoyées.

2. Sur le panneau Cloudways

Sur Cloudways, vous pouvez facilement consulter le taux de réussite de Memcached en accédant au serveur, puis en choisissant Surveillance dans la barre latérale.

Dans la fenêtre de surveillance, sélectionnez le Serveur et dans le menu déroulant, sélectionnez Taux de succès Memcached. Un graphique des hits reçus par le MemCached s'ouvrira.

Si vous ne parvenez pas à voir le taux de réussite, essayez de l'actualiser en cliquant sur Actualiser bouton.

Réflexions finales

Dans ce tutoriel, j'ai expliqué comment utiliser Memcached avec Yii2 comme cache par défaut pour votre site. Si vous avez une question ou souhaitez contribuer à la discussion, veuillez laisser un commentaire ci-dessous.


No