Skip to content

Set 类型

概念

是一个无序的且元素不可重复的数据结构,底层为 hash 表

特征

  • 无序
  • 元素不可重复
  • 查找快
  • 支持交集、并集、差集等功能

常用操作命令

单个 set 的操作member指元素本身)

  • sadd key member..:向 set 中添加一个或多个元素
  • srem key member...移除 set 中的指定元素(一个或者多个)
  • sismember key member:判断一个元素是否存在于 set 中
  • scard key:返回 set 中元素的个数
  • smembers:获取 set 中的所有元素

多个 set 之间的操作

  • sinter key1 key2:求 key1 与 key2 的交集,返回交集(前提是两个 key 都为 redis 的 set 类型)
  • sdiff key1 key2:求 key1 与 key2 的差集,返回差集(前提是两个 key 都为 redis 的 set 类型)
  • snuion key1 key2:求 key1 与 key2 的并集

求差集时注意

求差集时候,返回的是在前面的 key 中有,但在后面的 key 中没有的元素

例如:

bash
sadd key1 1 2 3
sadd key2 3 4

sdiff key1 key2 # 1 2
sdiff key2 key1 # 4