Yii2 的 redis 应用

Posted zjh

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Yii2 的 redis 应用相关的知识,希望对你有一定的参考价值。

在应用的时候需要先对yii2进行扩展安装

如果装有composer直接运行

php composer.phar require --prefer-dist yiisoft/yii2-redis

当然也可以本地安装

下载yii2-redis扩展包(https://github.com/yiisoft/yii2-redis )并解压

将解压后的文件移至vebdor/yiisoft命名为yii2-redis

打开vebdor/yiisoft下的extensions.php

添加如下代码

‘yiisoft/yii2-redis‘ => 
  [‘name‘ => ‘yiisoft/yii2-redis‘,
    ‘version‘ => ‘2.0.5.0‘,
    ‘alias‘ => 
    [‘@yii/redis‘ => $vendorDir . ‘/yiisoft/yii2-redis‘,
    ],
  ],

 

最后在config文件下的web.php中添加如下配置项(配置文件目录要写对笔者当时就是因为这个搞错了浪费了一上午时间)

‘redis‘ =>[
            ‘class‘ => ‘yii\redis\Connection‘,
            ‘hostname‘ => ‘localhost‘,  //你的redis地址
            ‘port‘ => 6379, //端口
            ‘database‘ => 0,
        ]

 

接下来就可以进行对redis的操作了

以下是几个简单的小实例

1)设置键值

$source = Yii::$app->redis->set(‘var1‘,‘asdasd‘);

 

当成功时会返回布尔值

$source = Yii::$app->redis->get(‘var1‘);

获取键的值

$source = Yii::$app->redis->del(‘var1‘);

删除键

$var2 = Yii::$app->redis->keys("*");

查看所有的键

2)列表

设置列表

$var1 = Yii::$app->redis->lpush("vari","lisr");

取出列表(一段)

$var3 = Yii::$app->redis->lrange("vari",0,2);

对某列表的某索引的值进行修改

$var33 = Yii::$app->redis->lset(‘vari‘,21,‘2323‘);

3)哈希

适合存储对象

存储hash

$var4 = Yii::$app->redis->hmset(‘mioji‘,‘name‘,‘syc‘,‘age‘,‘24‘);

读取hash

$var5 = Yii::$app->redis->hgetall(‘mioji‘);

4)集合

设置集合

$var6 = Yii::$app->redis->sadd(‘mioji1‘,‘lgc‘,‘lr‘,‘yzb‘,‘syc‘);

获取集合成员数

$var60 = Yii::$app->redis->scard(‘mioji1‘);

获取集合的成员

$var61 = Yii::$app->redis->smembers(‘mioji1‘);

5)有序集合

设置集合中的索引及成员

$var8 = Yii::$app->redis->zadd(‘mioji2‘,‘1‘,‘zf‘,‘2‘,‘ls‘);

返回集合中成员的个数

$var81 = Yii::$app->redis->zcard(‘mioji2‘);

返回指定索引区间内的成员

$var82 = Yii::$app->redis->zrange(‘mioji2‘,0,2);

6)发布订阅

$var7 = Yii::$app->redis->psubscribe(‘redisChat‘);

 

最后附上一个通用方法

Yii::$app->redis->executeCommand("redis命令名",[‘储存键‘,‘值1‘,‘值2‘...])

Yii::$app->redis->executeCommand(‘SADD‘, [‘key_name‘,value,value,value...]);

参考自:http://www.yiichina.com/tutorial/904

以上是关于Yii2 的 redis 应用的主要内容,如果未能解决你的问题,请参考以下文章

Yii2 运用 redis 服务

Yii2片段缓存详解

Yii2 教程 - yii2-redis 扩展详解

yii2.0 手动配置redis

Yii2-redis 不用 composer 的安装

yii2使用redis