Redis SINTER命令

Redis SINTER命令教程

Redis 的 SINTER 命令用于返回一个 集合 的全部成员,该集合是所有给定集合的交集。不存在的 key 被视为空集。

当给定集合当中有一个空集时,结果也为空集(根据集合运算定律)。

Redis SINTER命令详解

语法

192.168.98.70:6379> SINTER key [key ...]

参数

参数 描述
KEY 要返回交集的集合的键。

返回值

交集成员的列表。

时间复杂度

O(N * M), N 为给定集合当中基数最小的集合, M 为给定集合的个数。

可用版本

>= 1.0.0

案例

KEY都存在

KEY 都存在,返回源 SET 中存在,目标 SET 中也存在的元素

192.168.98.70:6379> SADD haicoder Redis Mongo Mysql (integer) 3 192.168.98.70:6379> SADD hicoder SqlServer SQL Mongo (integer) 3 192.168.98.70:6379> SMEMBERS haicoder 1) "Mongo" 2) "Redis" 3) "Mysql" 192.168.98.70:6379> SMEMBERS hicoder 1) "Mongo" 2) "SQL" 3) "SqlServer" 192.168.98.70:6379> SINTER haicoder hicoder 1) "Mongo" 192.168.98.70:6379> DEL haicoder hicoder (integer) 2

我们首先,使用 SADD 命令,向键为 haicoder 的集合插入元素 Redis、Mongo 和 Mysql。使用 SADD 命令,向键为 hicoder 的集合插入元素 SqlServer、SQL 和 Mongo。

最后,我们使用 SINTER 命令,获取键为 haicoder 的集合与键为 hicoder 的集合的元素的交集,即在 haicoder 集合中存在,在 hicoder 集合中也存在的元素。

源KEY不存在

源 KEY 不存在,返回空集合

192.168.98.70:6379> SCARD haicoder (integer) 0 192.168.98.70:6379> SADD hicoder Redis Mongo (integer) 2 192.168.98.70:6379> SINTER haicoder hicoder (empty list or set) 192.168.98.70:6379> DEL hicoder (integer) 1

我们首先,使用 SCARD 命令,获取键为 haicoder 的集合的元素个数,返回 0,即集合不存在。使用 SADD 命令,向键为 hicoder 的集合插入元素 Redis 和 Mongo。

最后,我们使用 SINTER 命令,获取键为 haicoder 的集合与键为 hicoder 的集合的元素的交集,因为集合 haicoder 不存在,所以返回空集合。

Redis SINTER命令教程

Redis 的 SINTER 命令用于返回一个集合的全部成员,该集合是所有给定集合的交集。Redis SINTER 命令语法:

192.168.98.70:6379> SINTER key [key ...]