zoukankan      html  css  js  c++  java
  • zset 有序集合




















    zadd key score1 value1 score2 value2 ..

    添加元素
    redis 127.0.0.1:6379> zadd stu 18 lily 19 hmm 20 lilei 21 lilei
    (integer) 3

    zrem key value1 value2 ..

    作用: 删除集合中的元素

    zremrangebyscore key min max

    作用: 按照socre来删除元素,删除score在[min,max]之间的
    redis 127.0.0.1:6379> zremrangebyscore stu 4 10
    (integer) 2
    redis 127.0.0.1:6379> zrange stu 0 -1

    1. "f"

    zremrangebyrank key start end

    作用: 按排名删除元素,删除名次在[start,end]之间的
    redis 127.0.0.1:6379> zremrangebyrank stu 0 1
    (integer) 2
    redis 127.0.0.1:6379> zrange stu 0 -1

    1. "c"
    2. "e"
    3. "f"
    4. "g"

    zrank key member

    查询member的排名(升续 0名开始)

    zrevrank key memeber

    查询 member的排名(降续 0名开始)

    ZRANGE key start stop [WITHSCORES]

    把集合排序后,返回名次[start,stop]的元素
    默认是升续排列
    Withscores 是把score也打印出来

    zrevrange key start stop

    作用:把集合降序排列,取名字[start,stop]之间的元素

    zrangebyscore key min max [withscores] limit offset N

    作用: 集合(升续)排序后,取score在[min,max]内的元素,
    并跳过 offset个, 取出N个
    redis 127.0.0.1:6379> zadd stu 1 a 3 b 4 c 9 e 12 f 15 g
    (integer) 6
    redis 127.0.0.1:6379> zrangebyscore stu 3 12 limit 1 2 withscores

    1. "c"
    2. "4"
    3. "e"
    4. "9"

    zcard key

    返回元素个数

    zcount key min max

    返回[min,max] 区间内元素的数量

    zinterstore destination numkeys key1 [key2 ...]

    [WEIGHTS weight [weight ...]]
    [AGGREGATE SUM|MIN|MAX]
    求key1,key2的交集,key1,key2的权重分别是 weight1,weight2
    聚合方法用: sum |min|max
    聚合的结果,保存在dest集合内

    注意: weights ,aggregate如何理解?
    答: 如果有交集, 交集元素又有socre,score怎么处理?
    Aggregate sum->score相加 , min 求最小score, max 最大score

    另: 可以通过weigth设置不同key的权重, 交集时,socre * weights

    详见下例
    redis 127.0.0.1:6379> zadd z1 2 a 3 b 4 c
    (integer) 3
    redis 127.0.0.1:6379> zadd z2 2.5 a 1 b 8 d
    (integer) 3
    redis 127.0.0.1:6379> zinterstore tmp 2 z1 z2
    (integer) 2
    redis 127.0.0.1:6379> zrange tmp 0 -1

    1. "b"
    2. "a"
      redis 127.0.0.1:6379> zrange tmp 0 -1 withscores
    3. "b"
    4. "4"
    5. "a"
    6. "4.5"
      redis 127.0.0.1:6379> zinterstore tmp 2 z1 z2 aggregate sum
      (integer) 2
      redis 127.0.0.1:6379> zrange tmp 0 -1 withscores
    7. "b"
    8. "4"
    9. "a"
    10. "4.5"
      redis 127.0.0.1:6379> zinterstore tmp 2 z1 z2 aggregate min
      (integer) 2
      redis 127.0.0.1:6379> zrange tmp 0 -1 withscores
    11. "b"
    12. "1"
    13. "a"
    14. "2"
      redis 127.0.0.1:6379> zinterstore tmp 2 z1 z2 weights 1 2
      (integer) 2
      redis 127.0.0.1:6379> zrange tmp 0 -1 withscores
    15. "b"
    16. "5"
    17. "a"
    18. "7"
  • 相关阅读:
    1、向服务传送复杂的类型实例(服务端程序)(摘自ProAndroid2)
    我项目中用到的jquery+json+struts2
    JSON与JAVA的数据转换
    管理和组织首选项
    python中如何对dict对象进行排序
    python cx_Oracle模块的安装和使用(linux环境)
    python cx_Oracle模块的安装和使用(linux环境)
    django的一个小功能——SortedDict
    Linux中source命令的用法
    linux uname命令参数及用法详解linux查看系统信息命令
  • 原文地址:https://www.cnblogs.com/qinsilandiao/p/10877406.html
Copyright © 2011-2022 走看看