Yii redis集合的基本使用教程


Posted in PHP onJune 14, 2020

前言

redis 的集合是无序的,集合成员是唯一的,不能重复。用户可以快速地对集合执行添加元素操作、移除元素操作以及检查一个元素是否存在于集合中。这里介绍一些常用的集合处理命令,并在 Yii 中的使用。

SADD

SADD:SADD key-name item [item …]
将一个或多个元素添加到集合里面,并返回被添加元素当中原本并不存在于集合里面的元素数量

SREM

SREM:SREM key-name item [item …]
从集合里面移除一个或多个元素,并返回被移除元素的数量

SISMEMBER

SISMEMBER:SISMEMBER key-name item
检查元素 item 是否存在于集合 key-name 里

SCARD

SCARD:SCARD key-name
返回集合包含的元素的数量

SMEMBERS

SMEMBERS:SMEMBERS key-name
返回集合包含的所有元素

SRANDMEMBER

SRANDMEMBER:SRANDMEMBER key-name [count]
从集合里面随机地返回一个或多个元素。当 count 为正数时,命令返回地随机元素不会重复;当 count 为负数时,命令返回地随机元素可能会出现重复

SPOP

SPOP:SPOP key-name
随机地移除集合中的一个元素,并返回被移除的元素

SMOVE

SMOVE:SMOVE source-key dest-key item
如果 source-key 包含元素 item,那么从集合 source-key 里面移除元素 item,并将元素 item 添加到集合 dest-key 中;如果 item 被成功移除,那么命令返回 1,否则返回 0

SDIFF

SDIFF:SDIFF key-name [key-name …]
返回那些存在于第一个集合、但不存在于其他集合中的元素(计算差集)

SDIFFSTORE

SDIFFSTORE:SDIFFSTORE dest-key key-name [key-name …]
将那些存在于第一个集合但并不存在于其他集合中的元素(差集)存储到 dest-key 键里面

SINTER

SINTER:SINTER key-name [key-name …]
返回那些同时存在于所有集合中的元素(计算交集)

SINTERSTORE

SINTERSTORE:SINTERSTORE dest-key key-name [key-name …]
将那些同时存在于所有集合的元素(交集)存储到 dest-key 键里面

SUNION

SUNION:SUNION key-name [key-name …]
返回那些至少存在于一个集合中的元素(计算并集)

SUNIONSTORE

SUNIONSTORE:SUNIONSTORE dest-key key-name [key-name …]
将那些至少存在于一个集合中的元素(并集)存储到 dest-key 键里面

在 Yii 中使用实例:

// 添加元素a,b,c
Yii::$app->redis->sadd('testSetKey', 'a', 'b', 'c');  // 3
// 移除元素c
Yii::$app->redis->srem('testSetKey', 'c');  // 1
// 检查元素c是否存在集合中
Yii::$app->redis->sismember('testSetKey', 'c');  // 0
// 返回集合包含的元素的数量
Yii::$app->redis->scard('testSetKey');  // 2
// 返回集合包含的所有元素
Yii::$app->redis->smembers('testSetKey');  // ["a","b"]
// 将元素a从testSetKey集合移到testSetKey2集合
Yii::$app->redis->smove('testSetKey', 'testSetKey2', 'a'); // 1
Yii::$app->redis->smembers('testSetKey');  // ["b"]
Yii::$app->redis->smembers('testSetKey2'); // ["a"]

总结

到此这篇关于Yii redis集合使用的文章就介绍到这了,更多相关Yii redis集合使用内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

PHP 相关文章推荐
php discuz 主题表和回帖表的设计
Mar 13 PHP
PHP性能优化准备篇图解PEAR安装
Dec 05 PHP
国外PHP程序员的13个好习惯小结
Feb 20 PHP
解析thinkphp中的导入文件标签
Jun 20 PHP
浅谈PHP中单引号和双引号到底有啥区别呢?
Mar 04 PHP
PHP中数据类型转换的三种方式
Apr 02 PHP
教大家制作简单的php日历
Nov 17 PHP
CI框架常用函数封装实例
Nov 21 PHP
Yii2选项卡的简单使用
May 26 PHP
PHP实现的用户注册表单验证功能简单示例
Feb 25 PHP
用php定义一个数组最简单的方法
Oct 04 PHP
laravel 解决后端无法获取到前端Post过来的值问题
Oct 22 PHP
php获取小程序码的实现代码(B类接口)
Jun 13 #PHP
laravel admin实现分类树/模型树的示例代码
Jun 10 #PHP
详解php反序列化
Jun 10 #PHP
实例讲解PHP表单
Jun 10 #PHP
如何在PHP中使用数组
Jun 09 #PHP
详解PHP中curl_multi并发的实现
Jun 08 #PHP
THINKPHP5.1 Config的配置与获取详解
Jun 08 #PHP
You might like
PHP输出控制功能在简繁体转换中的应用
2006/10/09 PHP
PHP stristr() 函数(不区分大小写的字符串查找)
2010/06/03 PHP
PHP使用Alexa API获取网站的Alexa排名例子
2014/06/12 PHP
腾讯CMEM的PHP扩展编译安装方法
2015/09/25 PHP
用javascript自动显示最后更新时间
2007/03/15 Javascript
让人印象深刻的10个jQuery手风琴效果应用
2012/05/08 Javascript
jquery 实现两Select 标签项互调示例代码
2014/09/25 Javascript
javascript学习笔记(七)Ajax和Http状态码
2014/10/08 Javascript
js实现汉字排序的方法
2015/07/23 Javascript
jquery实现的Accordion折叠面板效果代码
2015/09/02 Javascript
WordPress 单页面上一页下一页的实现方法【附代码】
2016/03/10 Javascript
ES6中的数组扩展方法
2016/08/26 Javascript
让浏览器崩溃的12行JS代码(DoS攻击分析及防御)
2016/10/10 Javascript
php 修改密码实现代码
2017/05/24 Javascript
Angular 4依赖注入学习教程之ValueProvider的使用(七)
2017/06/04 Javascript
vue-router路由参数刷新消失的问题解决方法
2017/06/17 Javascript
使用JS判断页面是首次被加载还是刷新
2019/05/26 Javascript
vue实现表单未编辑或未保存离开弹窗提示功能
2020/04/08 Javascript
python有证书的加密解密实现方法
2014/11/19 Python
python制作一个桌面便签软件
2015/08/09 Python
Python中异常重试的解决方案详解
2017/05/05 Python
matplotlib绘制动画代码示例
2018/01/02 Python
使用Python的Turtle库绘制森林的实例
2019/12/18 Python
Python random模块制作简易的四位数验证码
2020/02/01 Python
使用Python防止SQL注入攻击的实现示例
2020/05/21 Python
Python如何自动获取目标网站最新通知
2020/06/18 Python
python爬取微博评论的实例讲解
2021/01/15 Python
世界上最大的餐具公司:Oneida
2016/12/17 全球购物
Foot Locker德国官方网站:美国运动服和鞋类零售商
2018/11/01 全球购物
信息管理专业学生自荐信格式
2013/09/22 职场文书
食品行业求职人的自我评价
2014/01/19 职场文书
优秀家长自荐材料
2014/08/26 职场文书
购房协议书范本(无房产证)
2014/10/07 职场文书
火锅店的开业营销方案范本!
2019/07/05 职场文书
Python包argparse模块常用方法
2021/06/04 Python
nginx结合openssl实现https的方法
2021/07/25 Servers