2.10集合

set集合

特点

  • 无序

  • 无重复

  • 集合间操作

集合内api

命令

说明

时间复杂度

sadd key element

向集合key添加element(如果element已经存在,添加失败)

O(1)

srem key element

将集合key中的element移除掉

O(1)

scard key

计算集合大小

sismember key value

判断value是否在集合中存在

srandmember key count

从集合中随机挑count个元素

spop key

从集合中随机弹出元素

smembers key

返回集合中的所有元素

示例

用途

  • 抽奖系统

  • 标签

集合间的api

命令

说明

时间复杂度

sdiff key1 key2

差集

finter key1 key2

交集

sunion key1 key2

并集

sdiff|sinter|suion + store destkey

将差集,交集,并集结果保存到destkey中

示例

用途

  • 微博共同关注的好友

TIPS

  • SADD =Tagging

  • SPOP/SRANDMEMEBER = Random item

  • SADD + SINTER = Social Graph

Last updated

Was this helpful?