游戏排行榜实现
_浪子 2014-09-30 11:39:46 假设一个游戏有日、周、月、top100榜。我现在要根据玩家的战力进行排行
日就是每小时更新一次,周月都是周期更新一次
我使用定时器周期性(每小时,每周,每月)定时压入数据,就是对他们的当前的战力进行还有id等等一些数据进行压入
比如用户点击月榜时。我就返回表中的上个月榜数据给他,并且对月榜中所有的玩家进行战力排行。然后我返回 排在前100的玩家对象回去,单时同时我也要返回当前玩家所在排行榜排第几行。
用户每次点击时候,都会返回1W+数据,然后我再根据用户当前id进行1W+数据遍历,找到他排第几行。然后再截取前100和用户id的排行回去,这样效率很低。应该如何改变?
TOP100比较麻烦。因为实时数据,最新数据,所以不存入表中,每次点击我都要从多张表中查找数据,并且封装入排行榜对象。然后再对他进行遍历查找出当前玩家所在排行,再截取前100和当前玩家排行返回去?怎么优化呢?