Redis之Sets
Sets相关操作命令
1、SADD
SADD key member [member ...]
添加一个或者多个member 到key对应的集合中,如果集合不存在,则创建集合并添加元素。
如果集合中已经存在 member ,则忽略。如果key的类型不是集合则返回错误。
返回值
返回新成功添加到集合中的数量,不包括已经存在集合中的元素。
例子
2、SMEMBERS
SMEMBERS key
返回key集合所有的元素。
返回值
集合中的所有元素.
例子
3、SCARD
SCARD key
返回集合存储的key的基数 (集合元素的数量).
举例
4、SDIFF
SDIFF key [key ...]
返回一个集合与给定集合的差集的元素.
举例
5、SDIFFSTORE
SDIFFSTORE destination key [key ...]
该命令类似于 SDIFF, 不同之处在于该命令不返回结果集,而是将结果存放在destination集合中.
如果destination已经存在, 则将其覆盖重写.
返回值
结果集元素的个数.
例子
6、SINTER
SINTER key [key ...]
返回指定所有的集合的成员的交集
返回值
结果集成员的列表
例子
7、SINTERSTORE
SINTERSTORE destination key [key ...]
这个命令与SINTER命令类似,将结果保存在 destination集合中,如果destination 集合存在, 则会被重写。
返回值
结果集中成员的个数
例子
8、SISMEMBER
SISMEMBER key member
返回成员 member 是否是存储的集合 key的成员
返回值
- 如果member元素是集合key的成员,则返回1
- 如果member元素不是key的成员,或者集合key不存在,则返回0
举例
9、SPOP
SPOP key
从存储在key的集合中移除并返回一个或多个随机元素。
返回值
被删除的元素,或者当key不存在时返回nil。
例子
10、SREM
SREM key member [member ...]
在key集合中移除指定的元素. 如果指定的元素不是key集合中的元素则忽略
如果key集合不存在则被视为一个空的集合,该命令返回0。
如果key的类型不是一个集合,则返回错误.
返回值
从集合中移除元素的个数,不包括不存在的成员
例子
11、SUNION
SUNION key [key ...]
并集
12、SUNIONSTORE
SUNIONSTORE destination key [key ...]
取并集并且存储到destination 中。