zunionstore 将两个有序集合的并集存放到指定的集合中,相同元素的score值会加,如果添加weight参数,将会乘以指定的倍数。

127.0.0.1:6379> zrange test 0 -1 withscores
1) "user:1"
2) "10"
3) "user:2"
4) "20"
5) "user:5"
6) "60"
127.0.0.1:6379> zrange test1 0 -1  withscores
1) "user:1"
2) "10"
3) "user:2"
4) "20"
5) "user:3"
6) "30"
#zunionstore destination(将并集的集合元素存到这个新的集合中) 2(代表是有两个集合求并集) test(集合1) test1(集合2)
127.0.0.1:6379> zunionstore destination 2 test test1 
(integer) 4
#没有加weight,只是单纯的相同的集合元素score值进行相加。
127.0.0.1:6379> zrange destination 0 -1 withscores
1) "user:1"
2) "20"
3) "user:3"
4) "30"
5) "user:2"
6) "40"
7) "user:5"
8) "60"
#weight代表每个元素乘以给定的倍数,合并之前对每个集合给定的倍数让集合元素乘以对应的倍数。
##zunionstore destination(将并集的集合元素存到这个新的集合中) 2(代表是有两个集合求并集) test(集合1) test1(集合2) weights 1(对应test这个集合,代表test这个集合中的元素合并之前都x1) 3(对应test1,代表test1这个集合中的元素合并之前都x3)
127.0.0.1:6379> zunionstore destination 2 test test1 weights 1 3
(integer) 4
127.0.0.1:6379> zrange destination 0 -1 withscores
1) "user:1"
2) "40"
3) "user:5"
4) "60"
5) "user:2"
6) "80"
7) "user:3"
8) "90"

results matching ""

    No results matching ""