Redis 命令:集合


Redis 集合(Set)

Redis的集合(Set)是一种无序的字符串类型数据结构,具有以下特点:

  1. 集合中的成员都是唯一的,这意味着集合中不能出现重复的数据。
  2. 集合是通过哈希表实现的,所以它的添加、删除、查找操作的时间复杂度为O(1)。
  3. 集合中最大的成员数为2^32 - 1(约40亿个),每个集合可存储40多亿个成员。

实际操作时,可以通过SADD、 SISMEMBER、 SCARD、 SREM和SRANDMEMBER等命令对集合进行添加、删除、查看元素个数、随机取出元素等操作。另外集合对象的编码可以是intset或hashtable。使用Redis的Set数据结构可以有效地进行去重、分类、共同好友等功能的实现。

实例

以下是一些Redis集合(Set)命令的示例:

  1. SADD命令:向集合添加一个或多个成员。
SADD myset "Hello" "World"
  1. SISMEMBER命令:检查成员是否是集合的成员。
SISMEMBER myset "Hello"
  1. SCARD命令:获取集合的成员数量。
SCARD myset
  1. SREM命令:从集合中移除一个或多个成员。
SREM myset "Hello"
  1. SRANDMEMBER命令:随机返回集合中的一个成员。
SRANDMEMBER myset
  1. SPOP命令:随机移除并返回集合中的一个成员。
SPOP myset

Redis 集合命令

以下是 Redis 集合基本命令的表格:

命令 描述
SADD key member1 [member2 …] 向集合添加一个或多个成员。
SMEMBERS key 返回集合中的所有成员。
SISMEMBER key member 检查成员是否是集合的成员。
SCARD key 获取集合的成员数量。
SREM key member1 [member2 …] 从集合中移除一个或多个成员。
SRANDMEMBER key [count] 随机返回集合中的一个或多个成员。
SPOP key [count] 随机移除并返回集合中的一个或多个成员。
SMOVE source destination member 将成员从一个集合移动到另一个集合。
SDIFF key1 [key2 …] 返回第一个集合与其他集合的差集。
SDIFFSTORE destination key1 [key2 …] 将差集存储在另一个集合中。
SINTER key1 [key2 …] 返回多个集合的交集。
SINTERSTORE destination key1 [key2 …] 将交集存储在另一个集合中。
SUNION key1 [key2 …] 返回多个集合的并集。
SUNIONSTORE destination key1 [key2 …] 将并集存储在另一个集合中。
SMEMBERS key 返回集合中的所有成员。
SISMEMBER key member 检查成员是否是集合的成员。
SCARD key 获取集合的成员数量。
SREM key member1 [member2 …] 从集合中移除一个或多个成员。
SRANDMEMBER key [count] 随机返回集合中的一个或多个成员。
SPOP key [count] 随机移除并返回集合中的一个或多个成员。
SMOVE source destination member 将成员从一个集合移动到另一个集合。
SDIFF key1 [key2 …] 返回第一个集合与其他集合的差集。
SDIFFSTORE destination key1 [key2 …] 将差集存储在另一个集合中。
SINTER key1 [key2 …] 返回多个集合的交集。
SINTERSTORE destination key1 [key2 …] 将交集存储在另一个集合中。
SUNION key1 [key2 …] 返回多个集合的并集。
SUNIONSTORE destination key1 [key2 …] 将并集存储在另一个集合中。

猜你喜欢

转载自blog.csdn.net/m0_62617719/article/details/133142959