Login
网站首页 > 文章中心 > 其它

Redis ZINTERSTORE命令

作者:小编 更新时间:2023-08-12 20:31:41 浏览量:359人看过

Redis ZINTERSTORE 命令

Redis ZINTERSTORE 命令用于对多个有序集合进行交集计算,并将结果保存到新的有序集合中.

命令格式

参数说明

destination:新有序集合的名称;

numkeys:待计算有序集合的数量;

key:待计算有序集合的名称;

WEIGHTS weight:为每个有序集合指定一个乘法因子,用来调整权重;

AGGREGATE:聚合方式,可以是 SUM 、 MIN 或 MAX,默认为 SUM.

使用方法

下面是一个使用示例:

12⑦0.0.1:6379> ZADD first 1 "A" 2 "B" 3 "C"
(integer) 3
12⑦0.0.1:6379> ZADD second 2 "B" 3 "C" 4 "D"
(integer) 3
12⑦0.0.1:6379> ZINTERSTORE result 2 first second
(integer) 2
12⑦0.0.1:6379> ZRANGE result 0 -1 WITHSCORES
1) "B"
2) "4"
3) "C"
4) "6"

上述示例中,先创建了两个有序集合 first 和 second,然后调用 ZINTERSTORE 命令计算两者的交集,并将结果保存到新的有序集合 result 中.最后使用 ZRANGE 命令查看交集结果.

实例说明

12⑦0.0.1:6379> ZADD team1 1 "Messi" 2 "Xavi" 3 "Iniesta" 4 "Pique"
(integer) 4
12⑦0.0.1:6379> ZADD team2 1 "Ronaldo" 2 "Benzema" 3 "Modric" 4 "Kroos"
(integer) 4
12⑦0.0.1:6379> ZINTERSTORE team12 2 team1 team2 WEIGHTS 1.5 1.0
(integer) 0
12⑦0.0.1:6379> ZRANGE team12 0 -1 WITHSCORES
1) "Benzema"
2) "3"
3) "Iniesta"
4) "④5"
5) "Kroos"
6) "4"
7) "Modric"
8) "3"
9) "Pique"
10) "6"
11) "Ronaldo"
12) "1.5"
13) "Xavi"
14) "3"

12⑦0.0.1:6379> ZADD rank1 1 "Jack" 2 "Bob" 3 "Mary" 4 "Jenny" 5 "Lucy"
(integer) 5
12⑦0.0.1:6379> ZADD rank2 1 "Bob" 2 "Mary" 3 "Jenny" 4 "Lucy" 5 "Tony"
(integer) 5
12⑦0.0.1:6379> ZADD rank3 1 "Mary" 2 "Lucy" 3 "Tony" 4 "Lily" 5 "David"
(integer) 5
12⑦0.0.1:6379> ZADD rank4 1 "Jenny" 2 "Lucy" 3 "David" 4 "LiLei" 5 "HanMeiMei"
(integer) 5
12⑦0.0.1:6379> ZINTERSTORE result 4 rank1 rank2 rank3 rank4
(integer) 0
12⑦0.0.1:6379> ZRANGE result 0 -1 WITHSCORES
1) "Lucy"
2) "8"

注意事项

交集计算涉及多个有序集合,所以每个有序集合中的元素必须是唯一的,否则可能会计算出错误的结果.

参考资料

Redis ZINTERSTORE 命令

以上就是土嘎嘎小编为大家整理的Redis ZINTERSTORE命令相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!

版权声明:倡导尊重与保护知识产权。未经许可,任何人不得复制、转载、或以其他方式使用本站《原创》内容,违者将追究其法律责任。本站文章内容,部分图片来源于网络,如有侵权,请联系我们修改或者删除处理。

编辑推荐

热门文章