注册

详解Redis SINTERSTORE命令:将所有给定集合的交集存储在目标集合中

Redis SINTERSTORE命令的作用与使用方法

SINTERSTORE命令是Redis的一种集合操作命令,该命令用于求两个或多个集合的交集,并将结果保存到新的集合中。具体来说,这个命令的作用是将给定的所有集合的交集添加到一个新的集合中。

使用方法

SINTERSTORE的基本语法如下:

SINTERSTORE destination key [key ...]

其中,destination是新集合的名称,key是一个或多个现有集合的名称。使用此命令时,必须提供至少两个集合名称。如果提供的集合为空,则结果集合为空,因此该命令不会产生任何输出。

Redis使用示例

假设我们有三个集合,分别是Set1、Set2和Set3,集合中的值分别为{"apple", "banana", "pear", "orange"}、{"apple", "banana", "kiwi", "peach"}和{"apple", "peach", "grape"},则可以通过以下命令获得这三个集合的交集:

SINTERSTORE Set4 Set1 Set2 Set3

执行该命令后,现在有一个新的集合Set4,其中仅包含"apple"。如果要获得交集,并将其发送到客户端,可以使用以下命令:

SMEMBERS Set4

该命令将输出Set4集合中的所有元素:

1) "apple"

此外,还可以在Redis事务中使用SINTERSTORE命令,例如:

MULTI
SINTERSTORE Set4 Set1 Set2 Set3
SMEMBERS Set4
EXEC

此时,结果将一起输出:

1) (integer) 1
2) 1) "apple"