help @set 查看所有set相关命令
1.SADD
SADD key member [member ...]
summary: Add one or more members to a set
since: 1.0.0
添加一个或多个元素,如果元素已经存在则忽略,返回成功添加元素的个数
2.SCARD
SCARD key
summary: Get the number of members in a set
since: 1.0.0
返回存储的key的集合元素的数量
3.SDIFF
SDIFF key [key ...]
summary: Subtract multiple sets
since: 1.0.0
参数接受多个key,返回第一个key与其他key的差集,举例:
k1={1,2,3,4,5},k2={1,3,4},k3={1,4,5},执行 sdiff k1 k2 k3,返回结果为2,也就是说获取k1所有元素在k2,k3中所有的元素中不包含的元素集合
4.SDIFFSTORE
SDIFFSTORE destination key [key ...]
summary: Subtract multiple sets and store the resulting set in a key
since: 1.0.0
与SDIFF命令基本相同,区别在于SDIFFSTORE会把返回的结果直接存入一个key中,如果该key已经存在,则直接覆盖
5.SINTER
SINTER key [key ...]
summary: Intersect multiple sets
since: 1.0.0
获取指定多个key集合的交集
6.SINTERSTORE
SINTERSTORE destination key [key ...]
summary: Intersect multiple sets and store the resulting set in a key
since: 1.0.0
获取指定多个key集合的交集,并把结果保存到destination 中,如果destination 集合存在,则直接覆盖
7.SMEMBERS
SMEMBERS key
summary: Get all the members in a set
since: 1.0.0
返回key集合所有的元素
8.SISMEMBER
SISMEMBER key member
summary: Determine if a given value is a member of a set
since: 1.0.0
指定key的列表中是否存在member元素,存在返回1,不存在返回0
9.SPOP
SPOP key [count]
summary: Remove and return one or multiple random members from a set
since: 1.0.0
从存储在key的集合中移除并返回count个随机元素
10.SMOVE
SMOVE source destination member
summary: Move a member from one set to another
since: 1.0.0
把source中的元素member,移动到destination中,如果source 集合不存在或者不包含指定的元素,smove命令不执行任何操作并且返回0
11.SRANDMEMBER
SRANDMEMBER key [count]
summary: Get one or multiple random members from a set
since: 1.0.0
和SPOP类似,随机返回key集合中的count个元素,但是SRANDMEMBER不会删除元素
12.SREM
SREM key member [member ...]
summary: Remove one or more members from a set
since: 1.0.0
删除key中的元素member
13.SSCAN
SSCAN key cursor [MATCH pattern] [COUNT count]
summary: Incrementally iterate Set elements
since: 2.8.0
增量迭代一个集合元素,它是一个基于游标的迭代器。这意味着命令每次被调用都需要使用上一次这个调用返回的游标值作为该次调用的游标参数,以此来延续之前的迭代过程,当cursor游标参数被设置为 0 时, 服务器将开始一次新的迭代, 而当服务器向用户返回值为 0 的游标时, 表示迭代已结束
举例:执行SADD k1 a b c d e f g h i j k l m n o p q r s t u v w x y z,执行SSCAN k1 0,返回 14,"d","m","g","e" ,"j","k" ,"z" ,"y","r", "s",第一个数字14代表下一次迭代的游标cursor的值,后面返回的是10个结果,默认返回10个值,也可以设置每次需要返回的个数,比如SSCAN k1 0 count 100,COUNT 选项的作用就是让用户告知迭代命令, 在每次迭代中应该从数据集里返回多少元素,如果要在key的列表中查询某些特定的值,比如以x开头的值,则可以使用match,比如 SSCAN k1 0 match x* count 100
14.SUNION
SUNION key [key ...]
summary: Add multiple sets
since: 1.0.0
返回给定的多个key集合的并集中的所有成员
15.SUNIONSTORE
SUNIONSTORE destination key [key ...]
summary: Add multiple sets and store the resulting set in a key
since: 1.0.0
和SUNION类似,不同的是它并不返回结果集,而是将结果存储在destination集合中