Redis学习笔记(四)Sets

Redis Sets是字符串的无序集合,可以实现O(1)时间复杂度完成添加、删除等操作。并且,Redis中不允许出现重复的成员,多次添加相同的元素也只会存在唯一的一个副本。Redis Sets对象最多能够存储2^32-1个成员。

1.SADD/SMEMBERS

SADD命令向set对象中添加一个或多个成员,如果指定的成员已经存在,则不产生任何作用;如果待添加的set对象不存在,将创建一个新的set对象并添加相应成员。

(1)命令格式

(2)示例

可以发现,set对象中的成员是无序的。

(3)SMEMBERS

该命令返回set对象的所有成员,示例如上所示。

2.SISMEMBER

(1)命令格式

该命令判断指定的member是否是key中的成员,1表示肯定;0表示否定。

(2)示例

3.SINTER/SINTERSTORE

(1)SINTER

求集合的交集,并返回。有如下示例:

(2)SINTERSTORE

求集合的交集,并将结果存储至destination中,示例:

4.SUNION/SUNIONSTORE

这两个命令都是用来求结合的并集,不同的是,后者可以将结果存储到另一个指定的set对象中。

5.SDIFF/SDIFFSTORE

返回第一个set与后面set的差,后者将结果存储到指定的set对象中:

6.SPOP

该命令随机的从set集合中移除并返回一个或多个成员,命令格式如下:

有如下示例:

7.SCARD

该命令返回key中元素的个数,有如下示例:

8.SMOVE/SREM

(1)SMOVE

原子操作,将source集合中的member成员移动到destionation集合中,示例:

(2)SREM

从key集合中移除一个或多个成员member,示例:

9.SRANDMEMBER

从key中随机返回一个或多个成员,示例:

当count为正数时,返回的成员不会重复;但是若count为负数时,返回的成员可能会重复。

 

参考:
https://redis.io/topics/data-types-intro
https://redis.io/commands/sscan

发表评论

电子邮件地址不会被公开。 必填项已用*标注