set 是无序集合,最大可以包含(2 的 32 次方-1)个元素。set 的是通过 hash table 实现的, 所以添加,删除,查找的复杂度都是 O(1)

sadd key member 添加一个 string 元素到 key 对应 set 集合中,成功返回 1,如果元素以及 在集合中则返回 0,key 对应的 set 不存在则返回错误

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

Redis学习-set数据结构 Nosql 第1张

Redis学习-set数据结构 Nosql 第2张

继续添加,返回0表示添加失败,说明set集合,不允许添加重复元素

smembers smembers smembers key 返回 key 对应 set 的所有元素,结果是无序的

Redis学习-set数据结构 Nosql 第3张

 sinter key1 key2 …… keyN 返回所有给定 key 的交集

Redis学习-set数据结构 Nosql 第4张

sinterstore dstkey key1 ....... keyN 返回所有给定 key 的交集,并保存交集存到 dstkey 下

Redis学习-set数据结构 Nosql 第5张

sunion key1 key2 ...... keyN 返回所有给定 key 的并集

Redis学习-set数据结构 Nosql 第6张

sunionstore dstkey key1 ...... keyN 返回所有给定 key 的并集,并保存并集到 dstkey 下

Redis学习-set数据结构 Nosql 第7张

 sdiff key1 key2 ...... keyN 返回所有给定 key 的差集

Redis学习-set数据结构 Nosql 第8张

sdiffstore sdiffstore sdiffstore dstkey key1 ...... keyN 返回所有给定 key 的差集,并保存差集到 dstkey 下

Redis学习-set数据结构 Nosql 第9张

 

smove srckey dstkey member 从 srckey对应 set 中移除 member并添加到 dstkey 对应 set 中, 整个操作是原子的

Redis学习-set数据结构 Nosql 第10张

scard key 返回 set 的元素个数,如果 set 是空或者 key 不存在返回 0

Redis学习-set数据结构 Nosql 第11张

sismember key member 判断 member 是否在 set 中,存在返回 1,0 表示不存在或者 key 不 存在

Redis学习-set数据结构 Nosql 第12张

srem key member 从 key 对应 set 中移除指定元素

Redis学习-set数据结构 Nosql 第13张

spop key 删除并返回 key 对应 set 中随机的一个元素

 Redis学习-set数据结构 Nosql 第14张

srandmember key 同 spop,随机取 set 中的一个元素,但是不删除元素

Redis学习-set数据结构 Nosql 第15张

 

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄