博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Redis Set
阅读量:5739 次
发布时间:2019-06-18

本文共 1463 字,大约阅读时间需要 4 分钟。

hot3.png

Set

数学集合,元素自动过滤重复功能,不会保存元素添加顺序。丰富的数学集合操作,交集、并集,差集,尤其是判断是否包含 contains,非常高效。

 

1、基本操作(CURD)

>sadd key value[value ...]

将一个或多个 value元素加入到集合 key 当中,已经存在于集合的 value元素将被忽略。

 

>spop key

移除并返回集合中的一个随机元素。如果只想获取一个随机元素,但不想该元素从集合中被移除的话,可以使用 srandmember 命令。

 

>srem key value [ value...]

移除集合 key 中的一个或多个 value 元素,不存在的 value 元素会被忽略。

 

>scard key

返回集合 key 的基数(集合中元素的数量),scard 是数学上一个求集合个数的运算符号。

 

>smembers key

返回集合 key 中的所有成员。不存在的 key 被视为空集合,如果元素很多可能导致IO阻塞,最好使用的scan进行批量获取,而不是获取全部。

 

>srandmember key [count]

只提供了 key 参数,那么返回集合中的一个随机元素。

count 为正数,且小于集合基数,那么命令返回一个包含 count 个元素的数组,数组中的元素各不相同。如果 count 大于等于集合基数,那么返回整个集合。

count 为负数,那么命令返回一个数组,数组中的元素可能会重复出现多次,而数组的长度为 count 的绝对值。

 

>sismember key value

判断 value 元素是否集合 key 的成员,注意它的时间符合度是O(1),所以他比List的遍历比较元素是否相等要快很多,而且这是原子操作。

 

2、集合运算

>sdiff key [key ...]

返回所有给定集合的差集(存在第一个集合中但不存在其他任何一个集合中的成员)。不存在的 key 被视为空集。

 

>sdiffstore destination key [key ...]

返回所有给定集合的差集,同时将结果保存到 destination 集合,如果 destination 集合已经存在,则将其覆盖。

 

>sunion key [key ...]

返回所有给定集合的并集。不存在的 key 被视为空集。

 

>sunionstore destination key [key ...]

返回所有给定集合的并集,同时将结果保存到 destination 集合,如果 destination 集合已经存在,则将其覆盖。

 

>sinter key [key ...]

返回所有给定集合的交集。不存在的 key 被视为空集。当给定集合当中有一个空集时,结果也为空集(根据集合运算定律)。

 

>sinterstore destination key [key ...]

返回所有给定集合的交集,同时将结果保存到 destination 集合,如果 destination 集合已经存在,则将其覆盖。

 

3、移动

>smove source destination value

原子性操作,将 value 元素从 source 集合移动到 destination 集合。

 

>sscan key cursor [MATCH pattern] [COUNT count]

根据游标的位置获取指定的数量的元素。

转载于:https://my.oschina.net/heweipo/blog/753018

你可能感兴趣的文章
关于拉格朗日乘子法和KKT条件
查看>>
Godray
查看>>
音视频编解码开发经验2
查看>>
Visual Studio vs软件下载 vax Visual Assist X VAssistX
查看>>
virtualenv 和 virtualenvwrapper 实践
查看>>
点击空白处 关闭气泡的问题
查看>>
Java C++ Python PHP JS等各种语言中的INT最值
查看>>
如何在Windows环境下模拟丢包
查看>>
ECharts概念学习系列之ECharts官网教程之自定义构建 ECharts(图文详解)
查看>>
redis.Pool 配置
查看>>
【转】Java计算文件的hash值
查看>>
httpd htpasswd命令
查看>>
java基本数据类型
查看>>
https://www.cnblogs.com/netoxi/p/7258895.html
查看>>
php中的curl的一些参数总结
查看>>
UWP: 在 UWP 中使用 Entity Framework Core 操作 SQLite 数据库
查看>>
php连接符
查看>>
Linux内核同步:自旋锁
查看>>
chrom中 background 调用pop.js
查看>>
【nginx+tomcat集群】Nginx1.12.2+Tomcat7集群+负载均衡+Session共享
查看>>