zoukankan      html  css  js  c++  java
  • redis数据类型之sorted_set

    sorted_set

    • sorted_set

      • 新的存储需求:数据排序有利于数据的有效展示,需要提供一种可以根据自身特征进行排序的方式

      • 需要新的存储结构:新的存储模型,可以保存可排序的数据

      • sorted_set类型:在set的存储结构基础上添加可排序字段

    • sorted_set类型数据的基本操作

      • 添加数据:zadd key score1 member1 [score2 member2]

      • 获取全部数据

        • zrange key start stop [withscores]从小到大

        • zrevrange key start stop [withscores]从大到小

      • 删除数据

        • zrem key member [member ---]

      • 按条件获取数据

        • zrangebyscore key min max [withscores] [limit]

        • zrevrangebyscore key min max [withscores] [limit]

      • 条件删除数据

        • zremrangebyrank key start stop

        • zremrangebyscore key min max

        • 注意事项:

          • min与max用于限定搜索查询的条件

          • start与stop用于限定查询范围,作用于索引,表示开始和结束索引

          • offset与count用于限定查询范围作用于查询结构,表示开始位置和查询总量

      • 获取集合数据总量

        • zcard key

        • zcount key min max

      • 集合交、并操作

      • zinterstore destination numkeys key [key....]

      • zunionstore destination numkeys key [key...]

    • sorted_set类型数据扩展操作

      • 业务场景

        • 各类综艺节目海选投票;各类资源网站TOP10;聊天室活跃度统计;游戏好友亲密度

        • 业务分析:为所有参与排名的资源建立排序依据

        • 解决方案

          • 获取数据对应的索引

            • zrank key member

            • zrevrank key member

          • score值获取与修改

            • zscore key member

            • zincrby key increment member

        • redis应用场合:redis应用于计数器组合排序功能对应 排名

    • soted_set类型数据操作的注意事项

      • score保存的数据存储空间是64位

      • score保存的数据也可以是一个双精度的double,基于双精度浮点数的特征,可能会丢失精度,使用时要慎重

      • sorted_set底层 存储还是基于set结构的,因此数据不能重复,如果重复添加相同的数据,score值将被反复覆盖,保留最后一次修改的结果

    • redis应用

      • redis应用于定时任务执行顺序管理或任务过期管理·

      • redis应用于即时任务/消息队列执行管理

  • 相关阅读:
    iOS
    iOS
    iOS
    iOS
    iOS
    iOS
    iOS
    iOS
    iOS
    iOS
  • 原文地址:https://www.cnblogs.com/juddy/p/12913401.html
Copyright © 2011-2022 走看看