如何使用Redis实现排行榜功能


下面由redis教程栏目给大家介绍使用redis实现排行榜功能的方法,希望对需要的朋友有所帮助!

如何使用Redis实现排行榜功能

排行榜功能是一个很普遍的需求。使用 Redis 中有序集合的特性来实现排行榜是又好又快的选择。

一般排行榜都是有实效性的,比如“用户积分榜”。如果没有实效性一直按照总榜来排,可能榜首总是几个老用户,对于新用户来说,那真是太令人沮丧了。

首先,来个“今日积分榜”吧,排序规则是今日用户新增积分从多到少。

那么用户增加积分时,都操作一下记录当天积分增加的有序集合。
假设今天是 2015 年 04 月 01 日,UID 为 1 的用户因为某个操作,增加了 5 个积分。
Redis 命令如下:

ZINCRBY rank:20150401 5 1

假设还有其他几个用户也增加了积分:

ZINCRBY rank:20150401 1 2
ZINCRBY rank:20150401 10 3

看看现在有序集合 rank:20150401 中的数据(withscores 参数可以附带获取元素的 score):

ZRANGE rank:20150401 0 -1 withscores
1) "2"
2) "1"
3) "1"
4) "5"
5) "3"
6) "10"

按照分数从高到低,获取 top10:

ShopEx助理 ShopEx助理

一个类似淘宝助理、ebay助理的客户端程序,用来方便的在本地处理商店数据,并能够在本地商店、网上商店和第三方平台之间实现数据上传下载功能的工具。功能说明如下:1.连接本地商店:您可以使用ShopEx助理连接一个本地安装的商店系统,这样就可以使用助理对本地商店的商品数据进行编辑等操作,并且数据也将存放在本地商店数据库中。默认是选择“本地未安装商店”,本地还未安

ShopEx助理 0 查看详情 ShopEx助理
ZREVRANGE rank:20150401 0 9 withscores
1) "3"
2) "10"
3) "1"
4) "5"
5) "2"
6) "1"

因为只有三个元素,所以就查询出了这些数据。

如果每天记录当天的积分排行榜,那么其他花样百出的榜单也就简单了。
比如“昨日积分榜”:

ZREVRANGE rank:20150331 0 9 withscores

利用并集实现多天的积分总和,实现“上周积分榜”:

ZUNIONSTORE rank:last_week 7 rank:20150323 rank:20150324 rank:20150325 rank:20150326 rank:20150327 rank:20150328 rank:20150329 WEIGHTS 1 1 1 1 1 1 1

这样就将 7 天的积分记录合并到有序集合 rank:last_week 中了。权重因子 WEIGHTS 如果不给,默认就是 1。为了不隐藏细节,特意写出。
那么查询上周积分榜 Top10 的信息就是:

ZREVRANGE rank:last_week  0 9 withscores

“月度榜”、“季度榜”、“年度榜”等等就以此类推。

以上就是如何使用Redis实现排行榜功能的详细内容,更多请关注其它相关文章!


# 今日  # 望城区网站建设素材  # 村居营销中的信用卡推广  # 海淀区营销网站优化单价  # 广州seo知识分享  # 重庆seo包年优化价格  # 关键词推广渠道排名优势  # 企业网站推广蔚新hfqjwl做词  # 推广话术网站  # 珠海可靠营销推广中心招聘  # 宁夏seo推广如何营销  # Redis  # 当天  # 是一个  # 增加了  # 上周  # 如何实现  # 网络带宽  # 如何使用  # 几个  # 积分榜 


相关栏目: 【 Google疑问12 】 【 Facebook疑问10 】 【 优化推广96088 】 【 技术知识133117 】 【 IDC资讯59369 】 【 网络运营7196 】 【 IT资讯61894


相关推荐: 在J*a中如何实现类的继承与方法重用_OOP继承方法重用技巧分享  苹果SE如何开启单手模式_苹果SE单手操作功能  Symfony路由参数转换器:实体存在性验证与错误处理策略  sublime怎么在文件中显示代码结构大纲_sublime符号列表功能  汽水音乐官网网页版入口 汽水音乐官网网页版在线入口  学习通网页版个人登录_学习通网页版个人账户登录入口  英国搜索:多数英国人认为语言搜索是未来搜索  mysql如何回滚事务_mysql ROLLBACK事务回滚方法  iPhone16Plus参数配置如何调整声音_iPhone16Plus参数配置声音调整详细方法  在VS Code中进行数据科学和机器学习开发  《蓝色星原:旅谣》坐骑获取攻略  抖音小程序怎么开通?小程序开通条件是什么?  海棠阅读登录教程_详细讲解海棠登录操作  Keras中Convolution2D层及其核心辅助层详解  《虎扑》取消评分记录方法  Mac怎么关闭按键声音_Mac键盘打字音效设置  PyEZ 配置提交中 RpcTimeoutError 的健壮性处理策略  Golang如何实现HTTP请求重试机制_Golang HTTP请求错误处理策略  铁路12306官网登录入口 铁路12306在线购票官方平台  鲁班大师乓乓皮肤获取方法  研招网官方网站正版登录网址_中国研究生招生信息网官网首页  Sublime怎么快速复制文件路径_Sublime右键菜单增强技巧  快递查询,一键速查  win11如何开启单声道音频 Win11为听障用户合并左右声道【辅助】  C++ virtual析构函数作用_C++基类虚析构函数防止内存泄漏  抖音如何解除|直播|权限绑定_抖音关闭并解绑|直播|功能的方法  电脑开不了机怎么办 电脑无法开机的解决方法  Excel如何制作月度销售统计图_Excel动态图表制作与控件应用  J*a实现任务清单管理_集合框架综合入门练手  Pandas中基于动态偏移量实现DataFrame列值位移的策略  作业帮网页版不用下载入口 在线问老师快速答疑  CSS绝对定位与溢出控制:实现背景元素局部显示不触发滚动条  win11自带录屏文件保存在哪里 Win11 Game Bar录制视频默认路径【分享】  CSS如何在页面中引入重置样式_使用Normalize.css或Reset.css统一浏览器默认样式  告别繁琐SEO!如何使用SyliusSitemap插件自动化生成网站地图,提升搜索引擎排名  《鹿路通》退余额方法  不吃碳水化合物是健康减肥的好办法吗  创建快捷方式启动系统保护  Lar*el Socialite单设备登录策略:实现用户唯一会话管理  虫虫漫画绿色安全入口_虫虫漫画绿色安全入口安全看漫画  windows10怎么设置电源按钮_windows10按下电源键功能修改  在VS Code中利用AI辅助进行代码迁移  创建您的便携版VS Code:让配置随身携带  windows10怎么开启卓越性能_windows10电源选项代码激活  智学网app怎么登录忘记密码_智学网app忘记密码找回与重新登录操作方法  有道AI翻译入口 智能写作官方网站入口  VS Code的时间线(Timeline)视图:您的代码时光机  悟空浏览器网页版在线工具 悟空浏览器网页版在线平台入口  Yandex浏览器官方入口_Yandex搜索引擎中文版  VB表达式书写规则解析 

 2020-08-13

了解您产品搜索量及市场趋势,制定营销计划

同行竞争及网站分析保障您的广告效果

点击免费数据支持

提交您的需求,1小时内享受我们的专业解答。

运城市盐湖区信雨科技有限公司


运城市盐湖区信雨科技有限公司

运城市盐湖区信雨科技有限公司是一家深耕海外推广领域十年的专业服务商,作为谷歌推广与Facebook广告全球合作伙伴,聚焦外贸企业出海痛点,以数字化营销为核心,提供一站式海外营销解决方案。公司凭借十年行业沉淀与平台官方资源加持,打破传统外贸获客壁垒,助力企业高效开拓全球市场,成为中小企业出海的可靠合作伙伴。

 8156699

 13765294890

 8156699@qq.com

Notice

We and selected third parties use cookies or similar technologies for technical purposes and, with your consent, for other purposes as specified in the cookie policy.
You can consent to the use of such technologies by closing this notice, by interacting with any link or button outside of this notice or by continuing to browse otherwise.