游戏后端开发-游戏中排行榜的实现
一、游戏中排行榜
常规排行榜
- 玩家属性相关(等级、战力、公会贡献、充值…)
1
此类排行榜实时性要求比较重要,是游戏玩家,比较想得到实时反馈的一个全局数据,一般是5-10s内的误差就要刷新
玩法相关排行榜
副本通关数\公会整体战力\ …
1
此类排行榜的实时性没有前面的高,这里可以考虑周期排序
其他排行榜
- 待补充
二、技术思想
游戏服务器实现
1、数据结构、树
2、最小堆
中间件实现
- Redis sort set排序
数据库直排
- Mysql排序,用sql语句,TOP XX
- 无论用哪种方式去做更新刷新,在前端发起协议之后, 后端都可以做一个以RankID为Key一个缓存,既相同操作时不频繁去更新排行榜,合并多次操作,在一定时间内统一更新到公共数据,这种方法的好处是可以减少对公共数据操作 too frequently,但是坏处就是,这个周期更新的阀值如何设定。
三、算法的记录
- 最小堆
- 待补充