php排行榜代码,优化排行榜
总排行榜和周排行榜优化
背景
由于历史数据积累,kd消费表的数据已经十分之庞大,之前生成排行榜的操作是,后台任务每隔一小时,自动查询数据库的数据,然后生成数据
查询user_count表中的数据来生成总的排行榜,前100位
查询detail_kd表中的数据,来生成最近1周内消费kd,前100位 user_id
查询detail_charm表中的数据,来生成最近1周内获得魅力值的前100位user_id
显然这是一个不太现实而又实现了的功能,那么现在问题来了,线上由于数据量十分的大,频繁导致数据库宕机。
需要解决的问题
最近七天的数据如何存储
如何对数据排序,找出周内消费的前100名
解决方案
user:kd:stat:{userId} // redis hash date => count
user:rank:week:kd // redis zset count => user_id
user:rank:total:kd // redis zset count => user_id
user:charm:stat:{userId} // redis hash date => count
user:rank:week:charm // redis zset count => user_id
user:rank:total:charm // redis zset count => user_id
业务逻辑
kd消费统计维度每天
$redis->hincrby(user:kd:stat:{userId}, date(), kd) 增加每天的消费kd数
$redis->zincrby(user:rank:total:kd, userId) 增加总的kd数
$redis->zincrby(user:rank:week:kd, userId) 增加每week的kd数据
设置周榜缓存时间7天
数据初始化
需要脚本 生成对应的数据,对于每一个用户的数据都需要生成
以时间为分界线,当时间大于凌晨是,无缝切换为新的数据格式
方案一相对成本要高些,需要维护周内的数据,对于数据库的操作也很频繁,需要对每个用户进行遍历数据
方案二只有用户消费才会粗发,相对简单些,对服务器也没有那么大的压力
php排行榜代码,优化排行榜相关推荐
- LCHub中国低代码平台排行榜
LCHub低代码平台排行榜是低代码平台流行趋势的一个指标,每月更新,这份排行榜排名基于互联网有经验的程序员.课程和第三方厂商的数量.排名使用著名的搜索引擎(诸如百度.搜狗.360搜索.百科.Youku ...
- html中怎么写排行榜,div css列表布局排行榜代码
特效描述:div css列表布局 排行榜代码.div css列表布局排行榜代码 代码结构 1. 引入CSS 2. HTML代码 问问专家 问问专家 在社区问问最专业的知识贡献用户 委婉小小 闻道有先后 ...
- QQ玩一玩好友排行榜与世界排行榜
QQ玩一玩好友排行榜与世界排行榜 文章目录 1.开发环境 2.常见问题 3.实现好友排行榜 3.1 错误码列表 3.2 支持两种特性 3.3 成绩数据上报 3.4 何时上报玩家成绩 3.5 拉取排行榜 ...
- 台式计算机2017排行分析,最新台式电脑排行_2017联想台式电脑排行榜 联想台式电脑排行榜前10...
2017联想台式电脑排行榜 联想台式电脑排行榜前10 JPG,558x351,231KB,398_250 2014最新台式电脑品牌排行榜 JPG,500x316,232KB,396_250 2016最 ...
- 游戏中排行榜代码实现
游戏设计中常常使用排行榜,根据排行发送排名奖励. 排行容器的组成 记录排行的容器是一个由内部由vector和map组成的模板类 1.1.容器为什么这么设计 1.1.1vector部分的结构 其中vec ...
- 外贸CRM软件排行榜:优化客户关系管理,跟进客户并提升销售业绩
在外贸行业中,建立良好的客户关系和有效地跟进客户是取得成功的关键.为了更好地管理客户关系并提升销售业绩,外贸企业越来越多地依赖于CRM(客户关系管理)软件.然而,市场上存在各种不同的外贸CRM软件选择 ...
- python代码编辑器排行榜-4款好用的Python编辑器,你用过几个?
[芝麻IP代理]Python语言有一个特点就是不特别强势,可是它能够使用都非常的多范畴,并且效率高的可怕,Python的使用范畴非常多,现在国内越来越多的人学习Python,从最开始遇到IP被封导致没 ...
- 邀请人数排行榜代码 php,成功邀请好友人数排行榜.PDF
成功邀请好友人数排行榜 成功邀请好友人数排行榜 姓名 手机号 成功邀请人数 排名 成功邀请排名奖励 李希风 13703****4262 120 第一名 188 叶小钢 15070****2467 11 ...
- python代码编辑器排行榜-写 Python 哪个编辑器 / IDE 最好用?
不请自来嘻嘻,简单介绍一下几款好用的编写器,希望对你有帮助- 1.IDLE IDLE是开发 python 程序的基本IDE(集成开发环境),具备基本的IDE的功能,是非商业Python开发的不错的选择 ...
最新文章
- 计算机组成原理-第一章
- 适用于OpenGL离屏渲染上下文的初始化代码
- 理解VMware虚拟网络
- 解决margin-top没有效果
- java中的Native方法
- QT,C++最好的调试工具(抽象定义上的工具)
- 建议收藏!最新的(2019年)电子/计算机领域SCI期刊影响因子大全
- PHP代码优化的细节
- dom jaxp详解
- Memcache监控小工具stats命令
- C# NPOI(xlsx相关操作)
- HDU2078 复习时间【水题】
- spring源码解析(一)---占位符解析替换
- 调用登录接口返回“参数错误”
- matlab 离散点求导_如何用matlab求离散型数值的导数
- D3D9 3D渲染图像变模糊
- opcode php 缓存,深入理解PHP Opcode缓存原理
- 基于android的单词记忆英语考试系统app
- 【UNR #1】合唱队形
- Python学习D-1