zoukankan      html  css  js  c++  java
  • Zinterstore 命令

    先来看一下这个命令的定义:

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

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

    语法

    redis Zinterstore 命令基本语法如下:

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

    用大白话解释的话就是,首先这个命令是用来合并多个(也可以是两个)集合中共同拥有的key的值用的.

    实例:

    #创建一个数学成绩的有序集合,有三个学生 张三、李四、王五
    127.0.0.1:6379> zadd math_score 50 'zhang san' 95 'lisi' 78 'wangwu'
    (integer) 3
    #按照升序查看结果集
    127.0.0.1:6379>  zrangebyscore math_score 0 100 withscores
    1) "zhang san"
    2) "50"
    3) "wangwu"
    4) "78"
    5) "lisi"
    6) "95"
    #创建一个英语成绩的有序集合,里面有四个学生 张三、李四、王五、朱六
    127.0.0.1:6379> zadd english_score 90 'zhang san' 50 'zhu liu' 75 'lisi' 80 'wangwu'
    (integer) 4
    #按照升序查看结果集
    127.0.0.1:6379> zrangebyscore english_score 0 100
    1) "zhu liu"
    2) "lisi"
    3) "wangwu"
    4) "zhang san"
    #如果加了 withscores 结果集里面会出现成绩
    127.0.0.1:6379>  zrangebyscore english_score 0 100 withscores
    1) "zhu liu"
    2) "50"
    3) "lisi"
    4) "75"
    5) "wangwu"
    6) "80"
    7) "zhang san"
    8) "90"
    #现在我们想查看两门功课学生的总分排序,结果保存在新的集合sum_score中,
    sum_score 后面的数字2 代表要合并几个集合,我们合并两个就写2.
    127.0.0.1:6379> zinterstore sum_score 2 math_score english_score
    (integer) 3
    #查看合并后的结果,我们发现并没有 朱六的成绩,因为朱六的信息只存在于
    english_score中,Zinterstore 命令计算给定的一个或多个有序集的交集,
    也就是集合中共同有有的值才会合并到新的结果集中.
    127.0.0.1:6379> zrangebyscore sum_score 0 300 withscores
    1) "zhang san"
    2) "140"
    3) "wangwu"
    4) "158"
    5) "lisi"
    6) "170"
  • 相关阅读:
    MSP430F149学习之路——蓝牙模块
    MSP430F149学习之路——SPI
    MSP430推荐网站
    MSP430F149学习之路——UART
    MSP430F149学习之路——比较器Comparaor_A
    MSP430F149学习之路——PWM信号
    MSP430F149学习之路——捕获/比较模式
    MSP430F149学习之路——时钟1
    CUDA学习笔记(三)——CUDA内存
    CUDA学习笔记(一)——CUDA编程模型
  • 原文地址:https://www.cnblogs.com/xisuo/p/9239459.html
Copyright © 2011-2022 走看看