Yii2 的 redis 应用 [ 2.0 版本 ]
在应用的时候需要先对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' =>
array (
'name' => 'yiisoft/yii2-redis',
'version' => '2.0.5.0',
'alias' =>
array (
'@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');
这个可以实现聊天室的功能,不过还需要轮询(暂时不做介绍)
更多技术交流请移步我的个人博客
songyichao 北京
注册时间:2016-04-26
最后登录:2018-08-02
在线时长:8小时40分
最后登录:2018-08-02
在线时长:8小时40分
- 粉丝9
- 金钱495
- 威望70
- 积分1275
共 9 条评论
这个 可以, 虽然 我没用过redis
楼主您好!我用的最新的基础板 用redis的时候 必须是Yii::$app->cache->set() 把cache换成redis就不行,还有就是 没发现可以存储hash和列表 新手勿怪!
可以吧你的配置文件贴出来
配置文件的问题吧
不太会用redis存储其他格式,一般只用 get 和set,谢谢楼主
整个安装过程该用composer,你这样舍近求远了。
https://my.oschina.net/u/3736695/blog/1581898 这个感觉写的还不错 可以看一下
可以噻!!!!!!!
可以了 感谢大佬
简单实用,谢谢。