Yii2框架redis基本应用示例


Posted in PHP onJuly 13, 2018

本文实例讲述了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' =>
 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');

这个可以实现聊天室的功能,不过还需要轮询(暂时不做介绍)

希望本文所述对大家基于Yii框架的PHP程序设计有所帮助。

PHP 相关文章推荐
基于文本的搜索
Oct 09 PHP
echo(),print(),print_r()之间的区别?
Nov 19 PHP
深入php之规范编程命名小结
May 15 PHP
PHP中获取时间的下一周下个月的方法
Mar 18 PHP
PHP获取栏目的所有子级和孙级栏目的ID号示例
Apr 01 PHP
php数组函数array_key_exists()小结
Dec 10 PHP
Yii2中SqlDataProvider用法示例
Sep 22 PHP
PHP使用第三方即时获取物流动态实例详解
Apr 27 PHP
PHP实现求两个字符串最长公共子串的方法示例
Nov 17 PHP
PHP实现微信提现功能
Sep 30 PHP
PHP中strtr与str_replace函数运行性能简单测试示例
Jun 22 PHP
PHP程序员必须知道的两种日志实例分析
May 14 PHP
Yii2框架实现登陆添加验证码功能示例
Jul 12 #PHP
Yii框架日志记录Logging操作示例
Jul 12 #PHP
php unlink()函数使用教程
Jul 12 #PHP
总结PHP代码规范、流程规范、git规范
Jun 18 #PHP
针对thinkPHP5框架存储过程bug重写的存储过程扩展类完整实例
Jun 16 #PHP
PHP mongodb操作类定义与用法示例【适合mongodb2.x和mongodb3.x】
Jun 16 #PHP
PHP实现redis限制单ip、单用户的访问次数功能示例
Jun 16 #PHP
You might like
php二维数组排序与默认自然排序的方法介绍
2013/04/27 PHP
PHP+MySQL实现的简单投票系统实例
2016/02/24 PHP
javascript 异常处理使用总结
2009/06/21 Javascript
js原型链原理看图说明
2012/07/07 Javascript
JavaScript使用cookie实现记住账号密码功能
2015/04/27 Javascript
WebGL利用FBO完成立方体贴图效果完整实例(附demo源码下载)
2016/01/26 Javascript
微信小程序教程之本地图片上传(leancloud)实例详解
2016/11/16 Javascript
微信小程序 scroll-view隐藏滚动条详解
2017/01/16 Javascript
jQuery实现base64前台加密解密功能详解
2017/08/29 jQuery
Vue + Vue-router 同名路由切换数据不更新的方法
2017/11/20 Javascript
vue的toast弹窗组件实例详解
2018/05/14 Javascript
如何解决React官方脚手架不支持Less的问题(小结)
2018/09/12 Javascript
vue使用laydate时间插件的方法
2018/11/14 Javascript
帮你彻底搞懂JS中的prototype、__proto__与constructor(图解)
2019/08/23 Javascript
ES6新增的数组知识实例小结
2020/05/23 Javascript
js实现删除json中指定的元素
2020/09/22 Javascript
[51:17]VGJ.T vs Mineski 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
[54:06]OG vs TNC 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
[03:39]这就是刀塔,我们是冠军!燃情短片讲述我们的DOTA故事
2019/07/02 DOTA
Python open读写文件实现脚本
2008/09/06 Python
Python中__call__用法实例
2014/08/29 Python
用Python程序抓取网页的HTML信息的一个小实例
2015/05/02 Python
在Django的通用视图中处理Context的方法
2015/07/21 Python
python文件拆分与重组实例
2018/12/10 Python
python操作kafka实践的示例代码
2019/06/19 Python
Form表单及django的form表单的补充
2019/07/25 Python
详解python破解zip文件密码的方法
2020/01/13 Python
德国二手设计师时装和复古时装跳蚤市场:Mädchenflohmarkt
2020/11/09 全球购物
super()与this()的区别
2016/01/17 面试题
Servlet的实例是在生命周期什么时候创建的?配置servlet最重要的是什么?
2012/05/30 面试题
前台领班岗位职责
2013/12/04 职场文书
获奖的大学生创业计划书
2014/01/05 职场文书
运动会广播稿60字
2014/01/15 职场文书
政府法律服务方案
2014/06/14 职场文书
2015年度合同管理工作总结
2015/05/22 职场文书
《金钱的魔力》教学反思
2016/02/20 职场文书