Maison > cadre php > YII > Comment utiliser Redis dans le projet yii2

Comment utiliser Redis dans le projet yii2

爱喝马黛茶的安东尼
Libérer: 2019-12-09 10:28:22
original
3276 Les gens l'ont consulté

Comment utiliser Redis dans le projet yii2

Si vous souhaitez bien utiliser le stockage clé-valeur Redis dans le framework PHP Yii2, vous devez d'abord recommander la bibliothèque officielle Github yii2-redis. Cette bibliothèque peut nous aider à utiliser Redis dans le framework Yii2. Elle prend en charge les modes mise en cache, Session et ActiveRecord.

Installez la bibliothèque yii2-redis

Il est recommandé d'utiliser composer pour installer la bibliothèque yii2-redis et exécuter

php composer.phar require --prefer-dist yiisoft/yii2-redis:"~2.0.0"
Copier après la connexion
< dans le répertoire racine de votre projet 🎜> Ou ajoutez

"yiisoft/yii2-redis": "~2.0.0"
Copier après la connexion

à votre fichier composer.json, puis exécutez composer update C'est vraiment lent à l'intérieur du mur, alors attendez patiemment.

Configurer redis

Pour utiliser correctement cette extension, vous devez configurer la classe Connection dans le fichier de configuration de votre application, généralement Par exemple, le fichier de configuration est configweb.php.

Ajoutez le projet redis à votre composant, comme suit :

return [
    //....
    &#39;components&#39; => [
        &#39;redis&#39; => [
            &#39;class&#39; => &#39;yii\redis\Connection&#39;,
            &#39;hostname&#39; => &#39;localhost&#39;,
            &#39;port&#39; => 6379,
            &#39;database&#39; => 0,
        ],
    ]
];
Copier après la connexion

Après cela, vous pouvez utiliser redis normalement dans le framework yii2.

Exemple

Utilisation simple

Regardons d'abord la manière la plus simple d'utiliser le code redis :

$redis = Yii::$app->redis;
$key = &#39;username&#39;;
if ($val = $redis->get($key)) {
    return [&#39;redis&#39; => $val];
} else {
    $redis->set($key, &#39;Leon&#39;);
    $redis->expire($key, 5);
}
return [&#39;redis&#39; => &#39;no data&#39;];
Copier après la connexion

Il n'y a pas de ligne de commentaires, mais c'est clair d'un coup d'œil, non ?

Recherchez la clé du nom d'utilisateur. Si elle est introuvable, définissez le magasin clé-valeur et définissez le délai d'expiration sur 5 secondes.

Ceci est un exemple complet d'utilisation de Redis.

Cache

Voyons ensuite comment utiliser Redis pour la mise en cache.

De même, pour la mise en cache, nous devons modifier l'élément de cache dans le fichier de configuration :

&#39;components&#39; => [
    &#39;cache&#39; => [
        // &#39;class&#39; => &#39;yii\caching\FileCache&#39;,
        &#39;class&#39; => &#39;yii\redis\Cache&#39;,
    ],
],
Copier après la connexion

Si vous n'avez pas configuré le composant redis, vous devez également configurer redis sous le cache :

L'exemple de code de

&#39;components&#39; => [
    &#39;cache&#39; => [
        // &#39;class&#39; => &#39;yii\caching\FileCache&#39;,
        &#39;class&#39; => &#39;yii\redis\Cache&#39;,
        &#39;redis&#39; => [
            &#39;hostname&#39; => &#39;localhost&#39;,
            &#39;port&#39; => 6379,
            &#39;database&#39; => 0,
        ],
    ],
],
Copier après la connexion

est le suivant, qui est facile à comprendre et n'a pas besoin d'être trop expliqué :

$cache = Yii::$app->cache;
$key = &#39;username&#39;;
if ($cache->exists($key)) {
    return [&#39;cache&#39; => $cache->get($key)];
} else {
    $cache->set($key, &#39;Leon&#39;, 5);
}
return [&#39;cache&#39; => &#39;no cache&#39;];
Copier après la connexion

Session

Enfin , redis est utilisé comme session. Il doit également être configuré dans le composant :

&#39;components&#39; => [
    &#39;session&#39; => [
        &#39;name&#39; => &#39;advanced-frontend&#39;,
        &#39;class&#39; => &#39;yii\redis\Session&#39;
    ],
],
Copier après la connexion

Si redis n'a pas été configuré, il doit également être configuré :

&#39;components&#39; => [
    &#39;session&#39; => [
        &#39;name&#39; => &#39;advanced-frontend&#39;,
        &#39;class&#39; => &#39;yii\redis\Session&#39;,
        &#39;redis&#39; => [
            &#39;hostname&#39; => &#39;localhost&#39;,
            &#39;port&#39; => 6379,
            &#39;database&#39; => 0,
        ],
    ],
],
Copier après la connexion

L'exemple de code est le suivant :

$session = Yii::$app->session;
$key = &#39;username&#39;;
if ($session->has($key)) {
    return [&#39;session&#39; => $session->get($key)];
} else {
    $session->set($key, &#39;Leon&#39;);
}
return [&#39;session&#39; => &#39;no session&#39;];
Copier après la connexion
Dans une démonstration simple, comment utiliser correctement Redis, un outil efficace, mettra à l'épreuve les capacités de chacun. Allez!

Le site Web PHP chinois propose un grand nombre de

Tutoriels d'introduction Yii gratuits, tout le monde est invité à apprendre !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal