zoukankan      html  css  js  c++  java
  • redis实现音乐排行榜功能

    sorted_set类型

    • 新的存储需求:数据排序有利于数据的有效展示,需要提供一种可以根据自身特征进行排序的方式
    • 需要的存储结构:新的存储模型,可以保存可排序的数据
    • sorted_set类型:在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 [WITHSCORE] [LIMIT]
    zrevrangebyscore key max min [WITHSCORE]
    
    • 条件删除数据
    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 ...]
    

    业务场景

    票选广东十大杰出青年,各类综艺选秀海选投票

    各类资源网站TOP10(电影,歌曲,文档,电商,游戏等)

    聊天室活跃度统计

    游戏好友亲密度

    业务分析

    • 为所有参与排名的资源建立排序依据

    解决方案

    • 获取数据对应的索引(排名)
    zrank key member
    zrevrank key member
    
    • score值获取与修改
    zscore key member
    zincrby key increment member
    

    Trips 13 :

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

  • 相关阅读:
    纸牌排序
    将年份转换成天干地支
    猜算式
    字符串的简单处理
    九宫格填数字
    扫雷
    嗨喽
    Input.GetAxis与Input.GetAxisRaw区别
    C#中(int)、int.Parse()、int.TryParse()和Convert.ToInt32()的区别
    开发游戏所需知识(知乎转载)
  • 原文地址:https://www.cnblogs.com/ifme/p/12304928.html
Copyright © 2011-2022 走看看