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 相关文章推荐
ftp类(myftp.php)
Oct 09 PHP
adodb与adodb_lite之比较
Dec 31 PHP
一些常用的php简单命令代码集锦
Sep 24 PHP
php 采集书并合成txt格式的实现代码
Mar 01 PHP
浅析PHP程序防止ddos,dns,集群服务器攻击的解决办法
Jun 18 PHP
一个基于phpQuery的php通用采集类分享
Apr 09 PHP
PHP模板引擎Smarty的缓存使用总结
Apr 24 PHP
php调用KyotoTycoon简单实例
Apr 02 PHP
PHP实现事件机制实例分析
Jun 26 PHP
PHP的邮件群发系统phplist配置方法详细总结
Mar 30 PHP
PHP反射API示例分享
Oct 08 PHP
php实现产品加入购物车功能(1)
Jul 23 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/12/25 PHP
php ajax 静态分页过程形式
2011/09/02 PHP
php遍历所有文件及文件夹的方法深入解析
2013/06/08 PHP
event.keyCode键码值表 附只能输入特定的字符串代码
2009/05/15 Javascript
json 实例详细说明教程
2009/10/31 Javascript
jquery选择器之内容过滤选择器详解
2014/01/27 Javascript
jquery实现简单的无缝滚动
2015/04/15 Javascript
Nodejs全局安装和本地安装的不同之处
2016/07/04 NodeJs
jQuery如何跳转到另一个网页 就这么简单
2016/12/28 Javascript
JS常见算法详解
2017/02/28 Javascript
JS解析url查询参数的简单代码
2017/08/06 Javascript
JS中this的指向以及call、apply的作用
2018/05/06 Javascript
vue中锚点的三种方法
2018/07/06 Javascript
利用Blob进行文件上传的完整步骤
2018/08/02 Javascript
JavaScript实现滑块验证解锁
2021/01/07 Javascript
[02:58]献给西雅图的情书_高清
2014/05/29 DOTA
Python删除空文件和空文件夹的方法
2015/07/14 Python
Centos Python2 升级到Python3的简单实现
2016/06/21 Python
Python工厂函数用法实例分析
2018/05/14 Python
Python3简单实现串口通信的方法
2019/06/12 Python
如何运行.ipynb文件的图文讲解
2019/06/27 Python
简单了解python的break、continue、pass
2019/07/08 Python
python并发编程多进程 模拟抢票实现过程
2019/08/20 Python
Python OpenCV实现测量图片物体宽度
2020/05/27 Python
Python pandas对excel的操作实现示例
2020/07/21 Python
欧洲最大的滑雪假期供应商之一:Sunweb Holidays
2018/01/06 全球购物
JD Sports瑞典:英国领先的运动时尚商店
2018/01/28 全球购物
大学生最新职业生涯规划书范文
2014/01/12 职场文书
分层教学实施方案
2014/03/19 职场文书
化学教育专业自荐信
2014/07/04 职场文书
法院个人总结
2015/03/03 职场文书
专项资金申请报告
2015/05/15 职场文书
超市员工管理制度
2015/08/06 职场文书
golang import自定义包方式
2021/04/29 Golang
5行Python代码实现一键批量扣图
2021/06/29 Python
nginx共享内存的机制详解
2022/03/21 Servers