文档章节

Redis Set

learn_more
 learn_more
发布于 2016/09/29 09:32
字数 778
阅读 13
收藏 0

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]

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

© 著作权归作者所有

learn_more
粉丝 93
博文 240
码字总数 210196
作品 0
深圳
程序员
私信 提问
twemproxy 没有自动摘除故障节点

我在虚拟机上安装了twemproxy,使用的是nutcracker-0.2.2.tar。配置文件如下: lpha: listen: 127.0.0.1:22121 hash: fnv1a_64 distribution: ketama auto_eject_hosts: true redis: true s......

youzicha
2013/05/08
1K
1
redis排序问题,各位请不吝赐教

redis localhost:6379> sadd userlist 1 (integer) 1 redis localhost:6379> sadd userlist 2 (integer) 1 redis localhost:6379> sadd userlist 3 (integer) 1 redis localhost:6379> sadd ......

吴锦涛
2012/12/05
718
0
python中redis的使用

引自:http://blog.csdn.net/chosen0ne/article/details/7319807 redis-py提供两个类Redis和StrictRedis用于实现Redis的命令,StrictRedis用于实现大部分官方的命令,并使用官方的语法和命令...

cs_sharp
2016/01/26
126
1
redis安装配置

安装 下载,解压,编译: #wget http://download.redis.io/releases/redis-3.2.9.tar.gz # tar xzf redis-3.2.9.tar.gz # cd redis-3.2.9 # make 二进制文件是编译完成后在src目录下,通过下面......

Darren_Chen
2017/06/09
0
0
redis-4.0.1安装配置(CentOS 6.6)

一.redis服务安装配置 1. 下载解压redis软件包 # wget http://download.redis.io/releases/redis-4.0.1.tar.gz # tar zxvf redis-4.0.1.tar.gz # cd redis-4.0.1 2. 编译安装redis # make ......

茁壮的小草
2018/07/02
0
0

没有更多内容

加载失败,请刷新页面

加载更多

安利一波小程序原生组件库

日常逛 github,发现微信官方仓库下多出一批组件库。 weui 包含 button 、 cell 、 dialog 、 progress 、 toast 、 article 、 actionsheet 、 icon 等常用组件。想想硬编码实现的模态框,可...

dkvirus
6分钟前
0
0
后端管理系统开发(一):登录篇

作为后端程序员,想写一个数据展示的系统,主要用于数据查询、数据展示,当然也有登录功能了,有没有比较快的方式呢,于此,Vue-Admin-Pro便产生了,基于iView-Admin,进行简化,为后端程序员...

冯文议
13分钟前
0
0
Linux应用可通过USB访问Android设备-Chrome OS 75版发布

对于大多数Chromebook设备,Chrome OS 75已升级为稳定版本,版本为75.0.3770.102(平台版本:12105.75.0)。此版本引入了一项新的家长控制功能,可让家长限制孩子在Chrome操作系统设备上花费...

linux-tao
14分钟前
0
0
SetConsoleWindowInfo 函数--设置控制台窗口的大小和位置

https://www.cnblogs.com/X-Jun/p/6910430.html?utm_source=itdadao&utm_medium=referral

极客行
17分钟前
0
0
HanLP-朴素贝叶斯分类预测缺陷

文章整理自 baiziyu 的知乎专栏,感兴趣的朋友可以去关注下这位大神的专栏,很多关于自然语言处理的文章写的很不错。昨天看到他的分享的两篇关于朴素贝叶斯分类预测的文章,整理了一下分享给...

左手的倒影
19分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部