set集合是无序不重复的。
支持集合间的操作,交集(这个特性可以用来做共同关注)、并集、差集。
结构
key value
test1 a
b
c
d
e
集合内命令
sadd key element 向集合中添加元素,元素已经存在则添加失败。 时间复杂度o(1)
srem key element 删除集合中的元素。 时间复杂度o(1)
scard key 查集合中一共有多少个元素
sismember key element 查看这个元素是否存在于集合中。返回1则存在,返回0则不存在。
srandmember key 从集合中随机查询出一个元素(从关注者中抽奖,可以用这个特性)
smembers key 取出集合中所有元素。如果元素太多,慎用这个命令,有可能会阻塞。
spop key 从集合中随机弹出一个元素
node1:0>smembers testset
1) "1"
2) "2"
3) "3"
4) "4"
5) "5"
node1:0>spop testset
"3"
node1:0>smembers testset
1) "1"
2) "2"
3) "4"
4) "5"
node1:0>
sscan key cursor [MATCH pattern] [COUNT count] 迭代集合中的元素
集合间命令
sdiff key1 key2 差集
sdiffstore destination key1 key2 返回给定所有集合的差集并存储在 destination 中
sinter key1 key2 交集
sinterstore destination key1 key2 返回给定所有集合的交集并存储在 destination 中
sunion key1 key2 并集
sunionstore destination key1 key2 所有给定集合的并集存储在 destination 集合中