zoukankan      html  css  js  c++  java
  • 2019版:第三章:(6)Redis 五大数据类型 之 ZSet

    一、ZSet 类型

        1、Redis 有序集合 zSet 与普通集合 set 非常相似,是一个没有重复元素的字符串集合。不同之处是有序集合的每个成员都关联了一个评分(score),这个评分(score)被用来按照从最低分到最高分的方式排序集合中的成员。集合的成员是唯一的,但是评分可以是重复的
        2、因为元素是有序的,所以你也可以很快的根据评分(score)或者次序(position)来获取一个范围的元素。
            访问有序集合的中间元素也是非常快的,因此能够使用有序集合作为一个没有重复成员的智能列表。

    二、常用操作

    zadd <key><score1><value1><score2><value2>...
    将一个或多个 member 元素及其 score 值加入到有序集 key 当中
    zrange <key> <start> <stop> [withscores]
    返回有序集 key 中,下标在 <start><stop>之间的元素,
    带 withscores,可以让分数一起和值返回到结果集
    zrangebyscore key min max [withscores] [limit offset count]
    返回有序集 key 中,所有 score 值介于 min 和 max 之间(包括等于min 或max)的成员。
    有序集成员按 score 值递增(从小到大)次序排列
    zrevrangebyscore key max min [withscores] [limit offset count]
    同上,改为从大到小排列
    zincrby <key> <increment> <value>
    为元素的 score 加上增量
    zrem <key> <value>
    删除该集合下,指定值的元素
    zcount <key> <min> <max>
    统计该集合,分数区间内的元素个数
    zrank <key> <value>
    返回该值在集合中的排名,从0开始
      特殊情况
      1、相同分数,相同值,无法添加进去;
      2、不同分数,相同值,会将分数更新掉;
      3、相同分数,不同元素(值):能添加进去,还能正常排序
      zSet 以 value 为键,分数为值

    三、案例

      如何利用 zSet 实现一个文章访问量的排行榜?
      可以利用 zSet 的升序以及降序来排序,然后实现排名。
  • 相关阅读:
    第24课 多线程开发
    第23课 装饰器
    第22课 调用外部程序
    第20课 异常处理
    第19课 习题讲解
    第18课 面向对象
    第17课 调试程序
    第16课 pycharm 使用
    第15课 模块与包
    第14课 再识函数
  • 原文地址:https://www.cnblogs.com/niujifei/p/15792408.html
Copyright © 2011-2022 走看看