ZINTERSTORE destination numkeys key [key …] [WEIGHTS weight [weight …]] [AGGREGATE SUM|MIN|MAX]

可用版本: >= 2.0.0
时间复杂度: O(NK)+O(Mlog(M)), N 为给定 key 中基数最小的有序集, K 为给定有序集的数量, M 为结果集的基数。

计算给定的一个或多个有序集的交集,其中给定 key 的数量必须以 numkeys 参数指定,并将该交集(结果集)储存到 destination

默认情况下,结果集中某个成员的 score 值是所有给定集下该成员 score 值之和.

关于 WEIGHTSAGGREGATE 选项的描述,参见 [ZUNIONSTORE destination numkeys key [key …] [WEIGHTS weight [weight …]] AGGREGATE SUM|MIN|MAX] 命令。

返回值

保存到 destination 的结果集的基数。

代码示例

  1. redis > ZADD mid_test 70 "Li Lei"
  2. (integer) 1
  3. redis > ZADD mid_test 70 "Han Meimei"
  4. (integer) 1
  5. redis > ZADD mid_test 99.5 "Tom"
  6. (integer) 1
  7.  
  8. redis > ZADD fin_test 88 "Li Lei"
  9. (integer) 1
  10. redis > ZADD fin_test 75 "Han Meimei"
  11. (integer) 1
  12. redis > ZADD fin_test 99.5 "Tom"
  13. (integer) 1
  14.  
  15. redis > ZINTERSTORE sum_point 2 mid_test fin_test
  16. (integer) 3
  17.  
  18. redis > ZRANGE sum_point 0 -1 WITHSCORES # 显示有序集内所有成员及其 score 值
  19. 1) "Han Meimei"
  20. 2) "145"
  21. 3) "Li Lei"
  22. 4) "158"
  23. 5) "Tom"
  24. 6) "199"