首页 > 其他 > 详细

排行榜存储结构的优化

时间:2016-02-17 19:09:53      阅读:207      评论:0      收藏:0      [点我收藏+]

当前需求:各排行榜统计并显示前100名玩家。

新增需求:战阶排行榜只需要显示前100玩家,但每周需要根据排名发放奖励。实际上就是要存全服所有玩家的战阶积分排名,数据量大大增加的情况下,也势必要对排行榜存储结构进行优化。
 
之前做法:
每个排行榜都是个list,所有玩家排行信息都存成TTopListInfo.
_sortlist = [info, info, info...]
技术分享
 
技术分享
缺点是,遍历查找不便。比如,进行删除玩家的操作:
技术分享
技术分享
以及更新排行榜数据,更为繁琐:
技术分享
技术分享
技术分享
技术分享
 
优化后,修改为,用dict和list进行存储。原有的TTopListInfo去掉ranking属性。
_sortlist[uuid] = info. #存储排行榜玩家相关信息
_ranklist = [uuid, uuid, uuid...]#仅存储名次及玩家uuid
对于数据的操作就大大便利了,可读性也提高了。
技术分享
 技术分享
技术分享
技术分享
 
 

排行榜存储结构的优化

原文:http://www.cnblogs.com/coffeetime/p/5196105.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!