Redis中集合(Set)常见命令详解

发布于:2025-02-22 ⋅ 阅读:(13) ⋅ 点赞:(0)

集合(Set)常见命令详解

集合(Set)在Redis中是一种无序且不可重复的数据结构,非常适合用于存储唯一元素的集合。以下是Redis集合操作的一些常用命令及其详细说明:

添加成员

  • sadd key member [member ...]
    • 功能:向指定集合中添加一个或多个成员。
    • 参数
      • key:集合的键。
      • member:要添加到集合中的成员,可以是一个或多个。
    • 返回值:成功添加的新成员数量。如果成员已经存在于集合中,则不会重复添加。

获取所有成员

  • smembers key
    • 功能:返回集合中的所有成员。
    • 参数
      • key:集合的键。
    • 返回值:集合中的所有成员组成的列表。

删除成员

  • srem key member [member ...]
    • 功能:从集合中移除一个或多个成员。
    • 参数
      • key:集合的键。
      • member:要从集合中移除的成员,可以是一个或多个。
    • 返回值:成功移除的成员数量。

获取成员数量

  • scard key
    • 功能:获取集合中的成员数量。
    • 参数
      • key:集合的键。
    • 返回值:集合中的成员数量。

随机移除成员

  • spop key [count]
    • 功能:随机移除集合中的一个或多个成员,并返回被移除的成员。
    • 参数
      • key:集合的键。
      • count(可选):要移除的成员数量。如果不指定,则默认移除一个成员。
    • 返回值:被移除的成员组成的列表。

判断成员是否存在

  • sismember key member
    • 功能:判断某个成员是否存在于集合中。
    • 参数
      • key:集合的键。
      • member:要判断的成员。
    • 返回值:如果成员存在于集合中,返回1;否则返回0。

合并集合

  • sunion key1 key2 [key ...]

    • 功能:返回给定所有集合的并集。
    • 参数
      • key1key2等:要合并的集合的键。
    • 返回值:所有集合的并集组成的列表。
  • sunionstore dest key1 key2 [key ...]

    • 功能:将给定所有集合的并集存储到目标集合中。
    • 参数
      • dest:目标集合的键。
      • key1key2等:要合并的集合的键。
    • 返回值:并集中成员的数量。

获取交集

  • sinter key1 key2 [key ...]

    • 功能:返回给定所有集合的交集。
    • 参数
      • key1key2等:要求交集的集合的键。
    • 返回值:所有集合的交集组成的列表。
  • sinterstore dest key1 key2 [key ...]

    • 功能:将给定所有集合的交集存储到目标集合中。
    • 参数
      • dest:目标集合的键。
      • key1key2等:要求交集的集合的键。
    • 返回值:交集中成员的数量。

获取差集

  • sdiff key1 key2 [key ...]

    • 功能:返回第一个集合与其他集合的差集(即存在于第一个集合但不存在于其他集合中的成员)。
    • 参数
      • key1:基准集合的键。
      • key2等:要从基准集合中移除的成员所在的集合的键。
    • 返回值:差集组成的列表。
  • sdiffstore dest key1 key2 [key ...]

    • 功能:将第一个集合与其他集合的差集存储到目标集合中。
    • 参数
      • dest:目标集合的键。
      • key1:基准集合的键。
      • key2等:要从基准集合中移除的成员所在的集合的键。
    • 返回值:差集中成员的数量。

这些命令为操作Redis集合提供了强大的功能,适用于各种需要唯一性约束和集合运算的场景。