当前位置:网站首页>Redis:集合Set类型数据的操作命令
Redis:集合Set类型数据的操作命令
2022-07-04 03:52:00 【dengfengling999】

集合类型(set)
Redis的Set是string类型的无序不重复集合。
集合类型的数据操作总的思想是通过key确定集合,key是集合标识,元素没有下标,只有直接操作业务数据和数据的个数。



1.sadd
语法:sadd key member [member…]
功能:将一个或多个 member 元素加入到集合 key 当中,已经存在于集合的 member 元素将被忽略,不会再加入。
返回值:加入到集合的新元素的个数(不包括被忽略的元素)。

例如:


2.smembers
语法:smembers key
功能:获取集合 key 中的所有成员元素,不存在的key视为空集合。
返回值:返回指定集合的所有元素集合,不存在的key,返回空集合。

例如:
3.sismember
语法:sismember key member
功能:判断 member 元素是否是集合 key 的元素
返回值:member是集合成员返回1,其他返回 0 。

例如:
4.scard
语法:scard key
功能:获取集合里面的元素个数
返回值:数字,key的元素个数。其他情况返回 0 。

例如:

5.srem
语法:srem key member [member…]
功能:移除集合中一个或多个元素,不存在的元素被忽略。
返回值:数字,成功移除的元素个数,不包括被忽略的元素。

例如:
6.srandmember
语法:srandmember key[count]
功能:只提供key,随机返回集合中一个元素,元素不删除,依然在集合中;
提供了count时,count 正数, 返回包含count个数元素的集合,集合元素各不重复。count是负数,返回一个count绝对值的长度的集合,集合中元素可能会重复多次。
返回值:一个元素或者多个元素的集合

例如:count随机产生

count:随机产生的个数 count>0不重复 count<0有重复的

7.spop
语法:spop key[count]
功能:随机从集合中删除一个或count个元素。
返回值:被删除的元素,key不存在或空集合返回nil。

例如:

8.smove
语法:smove src dest member
功能:将 member 元素从src集合移动到dest集合,member不存在,smove不执行操作,返回0,如果dest存在member,则仅从src中删除member。
返回值:成功返回 1 ,其他返回 0 。

例如:
9.sdiff
语法:sdiff key key [key…]
功能:返回指定集合的差集,以第一个集合为准进行比较,即第一个集合中有但在其它任何集合中都没有的元素组成的集合。
返回值:返回第一个集合中有而后边集合中都没有的元素组成的集合,如果第一个集合中的元素在后边集合中都有则返回空集合。

例如:

10.sinter
语法:sinter key key [key…]
功能:返回指定集合的交集,即指定的所有集合中都有的元素组成的集合。
返回值:交集元素组成的集合,如果没有则返回空集合。

例如:刚开始3个集合没有工鞥用元素,然后当在set02加入e之后就有了共同的元素

11.sunion
语法:sunion key key [key…]
功能:返回指定集合的并集,即指定的所有集合元素组成的大集合,如果元素有重复,则保留一个。
返回值:返回所有集合元素组成的大集合,如果所有key都不存在,返回空集合。

例如:

边栏推荐
- Two sides of the evening: tell me about the bloom filter and cuckoo filter? Application scenario? I'm confused..
- CesiumJS 2022^ 源码解读[0] - 文章目录与源码工程结构
- Smart subway | cloud computing injects wisdom into urban subway transportation
- 【CSRF-01】跨站请求伪造漏洞基础原理及攻防
- 10 reasons for not choosing to use free virtual hosts
- [Logitech] m720
- Spa in SDP
- VIM add interval annotation correctly
- 支持首次触发的 Go Ticker
- Flink learning 8: data consistency
猜你喜欢

图解网络:什么是热备份路由器协议HSRP?

Pytest multi process / multi thread execution test case

三年进账35.31亿,这个江西老表要IPO了

Unity draws the trajectory of pinball and billiards

Exercises in quantum mechanics

还原窗口位置的微妙之处

【CSRF-01】跨站请求伪造漏洞基础原理及攻防

postgresql 用户不能自己创建表格配置

深度优先搜索简要讲解(附带基础题)

There is a problem that the package cannot be parsed in the like project
随机推荐
线程常用的方法
The maximum expiration time of client secret in azure ad application registration is modified to 2 years
STM32 external DHT11 display temperature and humidity
[book club issue 13] multimedia processing tool ffmpeg tool set
批处理初识
vue多级路由嵌套怎么动态缓存组件
LNK2038 检测到“RuntimeLibrary”的不匹配项: 值“MD_DynamicRelease”不匹配值“MDd_DynamicDebug”(main.obj 中)
mysql数据库的存储
One click compilation and deployment of MySQL
[book club issue 13] packaging format of video files
02 specific implementation of LS command
如何有效远程办公之我见 | 社区征文
(指针)编写函数void fun(int x,int *pp,int *n)
Reduce function under functools
Pointer array and array pointer
Katalon使用script实现查询List大小
三年进账35.31亿,这个江西老表要IPO了
深度优先搜索简要讲解(附带基础题)
Tcpclientdemo for TCP protocol interaction
Katalon中控件的参数化