• Redis从0到精通--Zset


    Zset(有序集合)

    在set的基础上,增加了一个值,set k1 v1 zset k1 score1 v1
    127.0.0.1:6379> hvals myhash # 只获得所有value
    1) "world"
    2) "hello"
    ##########################################################################
    incr decr
    127.0.0.1:6379> hset myhash field3 5 #指定增量!
    (integer) 1
    127.0.0.1:6379> HINCRBY myhash field3 1
    (integer) 6
    127.0.0.1:6379> HINCRBY myhash field3 -1
    (integer) 5
    127.0.0.1:6379> hsetnx myhash field4 hello # 如果不存在则可以设置
    (integer) 1
    127.0.0.1:6379> hsetnx myhash field4 world # 如果存在则不能设置
    (integer) 0
    127.0.0.1:6379> zadd myset 1 one # 添加一个值
    (integer) 1
    127.0.0.1:6379> zadd myset 2 two 3 three # 添加多个值
    (integer) 2
    127.0.0.1:6379> ZRANGE myset 0 -1
    1) "one"
    2) "two"
    3) "three"
    ##########################################################################
    排序如何实现
    127.0.0.1:6379> zadd salary 2500 xiaohong # 添加三个用户
    (integer) 1
    127.0.0.1:6379> zadd salary 5000 zhangsan
    (integer) 1
    127.0.0.1:6379> zadd salary 500 kaungshen
    (integer) 1
    # ZRANGEBYSCORE key min max
    127.0.0.1:6379> ZRANGEBYSCORE salary -inf +inf # 显示全部的用户 从小到大!
    1) "kaungshen"
    2) "xiaohong"
    3) "zhangsan"
    127.0.0.1:6379> ZREVRANGE salary 0 -1 # 从大到进行排序!
    1) "zhangsan"
    2) "kaungshen"
    127.0.0.1:6379> ZRANGEBYSCORE salary -inf +inf withscores # 显示全部的用户并且附带成
    1) "kaungshen"
    2) "500"
    3) "xiaohong"
    4) "2500"
    5) "zhangsan"
    6) "5000"
    127.0.0.1:6379> ZRANGEBYSCORE salary -inf 2500 withscores # 显示工资小于2500员工的升
    序排序!
    1) "kaungshen"
    2) "500"
    3) "xiaohong"
    4) "2500"
    ##########################################################################
    # 移除rem中的元素
    127.0.0.1:6379> zrange salary 0 -1
    1) "kaungshen"
    2) "xiaohong"
    3) "zhangsan"
    127.0.0.1:6379> zrem salary xiaohong # 移除有序集合中的指定元素
    (integer) 1
    127.0.0.1:6379> zrange salary 0 -1
    1) "kaungshen"
    2) "zhangsan"
    127.0.0.1:6379> zcard salary # 获取有序集合中的个数
    (integer) 2
    ##########################################################################
    127.0.0.1:6379> zadd myset 1 hello
    (integer) 1
    127.0.0.1:6379> zadd myset 2 world 3 kuangshen
    (integer) 2
    127.0.0.1:6379> zcount myset 1 3 # 获取指定区间的成员数量!
    (integer) 3
    127.0.0.1:6379> zcount myset 1 2
    (integer) 2
    

    其与的一些API,通过我们的学习吗,你们剩下的如果工作中有需要,这个时候你可以去查查看官方文 档! 案例思路:set 排序 存储班级成绩表,工资表排序! 普通消息,1, 重要消息 2,带权重进行判断! 排行榜应用实现,取Top N 测试!

  • 相关阅读:
    mysql总结
    spirngmvc整合mybatis实现CRUD
    java lesson09总结
    Java lesson08 Homework
    java Lesson08总结
    【DFS】bzoj2435 [Noi2011]道路修建
    【BFS】bzoj2252 [2010Beijing wc]矩阵距离
    【BFS】bzoj1054 [HAOI2008]移动玩具
    【搜索】bzoj3109 [cqoi2013]新数独
    【搜索】【约数个数定理】[HAOI2007]反素数ant
  • 原文地址:https://www.cnblogs.com/qq3245792286/p/15405635.html
Copyright © 2020-2023  润新知