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

Comment utiliser Redis dans le projet yii2

爱喝马黛茶的安东尼
爱喝马黛茶的安东尼original
2019-12-09 10:28:223310parcourir

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"
Ou ajoutez

"yiisoft/yii2-redis": "~2.0.0"

à 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 [
    //....
    'components' => [
        'redis' => [
            'class' => 'yii\redis\Connection',
            'hostname' => 'localhost',
            'port' => 6379,
            'database' => 0,
        ],
    ]
];

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 = 'username';
if ($val = $redis->get($key)) {
    return ['redis' => $val];
} else {
    $redis->set($key, 'Leon');
    $redis->expire($key, 5);
}
return ['redis' => 'no data'];

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 :

'components' => [
    'cache' => [
        // 'class' => 'yii\caching\FileCache',
        'class' => 'yii\redis\Cache',
    ],
],

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

L'exemple de code de

'components' => [
    'cache' => [
        // 'class' => 'yii\caching\FileCache',
        'class' => 'yii\redis\Cache',
        'redis' => [
            'hostname' => 'localhost',
            'port' => 6379,
            'database' => 0,
        ],
    ],
],

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

$cache = Yii::$app->cache;
$key = 'username';
if ($cache->exists($key)) {
    return ['cache' => $cache->get($key)];
} else {
    $cache->set($key, 'Leon', 5);
}
return ['cache' => 'no cache'];

Session

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

'components' => [
    'session' => [
        'name' => 'advanced-frontend',
        'class' => 'yii\redis\Session'
    ],
],

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

'components' => [
    'session' => [
        'name' => 'advanced-frontend',
        'class' => 'yii\redis\Session',
        'redis' => [
            'hostname' => 'localhost',
            'port' => 6379,
            'database' => 0,
        ],
    ],
],

L'exemple de code est le suivant :

$session = Yii::$app->session;
$key = 'username';
if ($session->has($key)) {
    return ['session' => $session->get($key)];
} else {
    $session->set($key, 'Leon');
}
return ['session' => 'no session'];

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!

Déclaration:
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