sponsored links

【七】redis数据结构之set,命令及其时间复杂度

set集合是无序不重复的。

支持集合间的操作,交集(这个特性可以用来做共同关注)、并集、差集。

结构

key                     value
test1                       a

                               b

                               c

                               d

                               e

集合内命令

sadd key element 向集合中添加元素,元素已经存在则添加失败。 时间复杂度o(1)

【七】redis数据结构之set,命令及其时间复杂度

srem key element 删除集合中的元素。  时间复杂度o(1)

scard key 查集合中一共有多少个元素

【七】redis数据结构之set,命令及其时间复杂度

sismember key element 查看这个元素是否存在于集合中。返回1则存在,返回0则不存在。

【七】redis数据结构之set,命令及其时间复杂度

srandmember key 从集合中随机查询出一个元素(从关注者中抽奖,可以用这个特性

【七】redis数据结构之set,命令及其时间复杂度

smembers key 取出集合中所有元素。如果元素太多,慎用这个命令,有可能会阻塞。

【七】redis数据结构之set,命令及其时间复杂度

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]    迭代集合中的元素

scan详细介绍

集合间命令

sdiff key1 key2 差集

sdiffstore destination key1 key2   返回给定所有集合的差集并存储在 destination 中

sinter key1 key2  交集

sinterstore destination key1 key2  返回给定所有集合的交集并存储在 destination 中

sunion key1 key2  并集

sunionstore destination key1 key2 所有给定集合的并集存储在 destination 集合中

Tags: