简介
无序集合,成员唯一。
集合是通过哈希表实现,添加、删除、查找的复杂度都是0(1)。
可以有40多亿个成员。
底层存储结构:intset(数组)、hashtable(key,value(null))
Intset是有序的,通过二分查找数据。
常用的命令
set,所有命令语句都是S开头
赋值语法
SADD key member [member2] // 添加成员
取值语法
SCARD key // 成员数
SMEMBERS key // 所有成员
SISMEMBER key member // 是否存在
SRANDMEMBER key [count] // 返回count个随机数
删除语法
SREM key member [member2] // 移除成员
SPOP key [count] // 随机移除count个元素,并返回
SMOVE soure destination member // 将元素移动到另一个元素中
差集语法
SDIFF key1 [key2] // 差集
SDIFFSTORE destination key1 [key2] // 返回差集并插入destination集合中
交集语法
SINTER key1 [key2] // 交集
SINTERSTORE destination key1 [key2] // 返回交集并存到destination
并集语法
SUNION key1 [key2] // 并集
SUNIONSTORE destination key1 [key2] // 返回并集并存储到destionation中
应用场景
常用于:集合的交集、并集、差集
共同关注、共同喜好、二度好友