这里写目录标题
- 5.9 SINTER、SINTERSTORE:对集合执行交集计算
- 5.9.1 SINTERSTORE命令
- 5.9.2 其他信息
- 参考目录
5.9 SINTER、SINTERSTORE:对集合执行交集计算
SINTER命令可以计算出用户给定的所有集合的交集,然后返回这个交集包含的所有元素:
比如对于以下这两个集合来说:
我们可以通过执行以下命令计算出这两个集合的交集:
从结果可以看出,s1和s2的交集包含了"c"和"d"这两个元素。
5.9.1 SINTERSTORE命令
除了SINTER命令之外,Redis还提供了SINTERSTORE命令,这个命令可以把给定集合的交集计算结果存储到指定的键里面:
如果给定的键已经存在,那么SINTERSTORE命令在执行存储操作之前 会先删除已有的键。
SINTERSTORE命令在执行完毕之后会返回被存储的交集元素数量作为返回值。
例如,通过执行以下命令,我们可以把s1和s2的交集计算结果存储到集合s1-inter-s2中:
5.9.2 其他信息
复杂度:SINTER命令和SINTERSTORE命令的复杂度都是O(N*M), 其中N为给定集合的数量,而M则是所有给定集合当中,包含元素最少 的那个集合的大小。
版本要求:SINTER命令和SINTERSTORE命令从Redis 1.0.0版本开始可用。
参考目录
绝大多数 内容来自 Redis使用手册 (黄健宏 著) 第5章 集合