Redis 的 SINTER 命令用于返回一个 集合 的全部成员,该集合是所有给定集合的交集。不存在的 key 被视为空集。
当给定集合当中有一个空集时,结果也为空集(根据集合运算定律)。
192.168.98.70:6379> SINTER key [key ...]
参数 | 描述 |
---|---|
KEY | 要返回交集的集合的键。 |
交集成员的列表。
O(N * M), N 为给定集合当中基数最小的集合, M 为给定集合的个数。
>= 1.0.0
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 不存在,返回空集合
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 命令语法:
192.168.98.70:6379> SINTER key [key ...]