类别:YII / 日期:2019-12-09 / 浏览:236 / 评论:0

想要在Yii2这个PHP框架中很好的运用redis键值存储,那末起首就要引荐yii2-redis这个官方的Github库。这个库可以很好的协助我们在Yii2框架中运用redis,它供应缓存,Session以及ActiveRecord形式的支撑。

装置yii2-redis库

引荐运用composer装置yii2-redis库,在你的项目根目录实行

php composer.phar require --prefer-dist yiisoft/yii2-redis:"~2.0.0"

或许将

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

到场你的composer.json文件里,以后运转composer update,墙内真的很慢,耐烦守候即可。

设置redis

要准确的运用这个扩大,你必需在你的应用程序的设置文件内,设置Connection类,一般来说,设置文件是config\web.php。

在你的组件里到场redis项目,以下:

return [
    //....
    'components' => [
        'redis' => [
            'class' => 'yii\redis\Connection',
            'hostname' => 'localhost',
            'port' => 6379,
            'database' => 0,
        ],
    ]
];

云云以后,你便能一般的在yii2框架中运用redis。

示例

简朴运用

我们先来看一段最简朴的运用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'];

没有一行诠释,然则就是一览无余是否是。

寻觅username这个key,假如找不到,设置键值存储,而且逾期时候是5秒钟。

这就是一个完全的运用redis的例子。

Cache

那末接下来,我们来看看怎样将redis用在缓存上。

一样的,作为缓存运用,我们须要去设置文件里修正缓存项:

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

假如你没有设置过redis组件,那末还须要在cache下设置redis:

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

示例代码以下,通俗易懂也就不过多诠释了:

$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

末了是redis用作session。也是要在组件中设置:

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

假如没有设置过redis,一样须要设置:

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

示例代码以下:

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

在简朴的树模下,怎样将redis这个高效的东西用好,则是磨练人人的才能了。加油吧!

ki4网,有大批免费的Yii入门教程,迎接人人进修!

以上就是yii2项目中怎样运用redis的细致内容,更多请关注ki4网别的相干文章!

打赏

感谢您的赞助~

打开支付宝扫一扫,即可进行扫码打赏哦~

版权声明 : 本文未使用任何知识共享协议授权,您可以任何形式自由转载或使用。

 可能感兴趣的文章