Redis Zinterstore 命令


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

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

语法

redis Zinterstore 命令基本语法如下:

  1. redis 127.0.0.1:6379> ZINTERSTORE destination numkeys key [key ...] [WEIGHTS weight [weight ...]] [AGGREGATE SUM|MIN|MAX]

可用版本

>= 2.0.0

返回值

保存到目标结果集的的成员数量。

实例

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