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"