码迷,mamicode.com
首页 > 其他好文 > 详细

排行榜存储结构的优化

时间:2016-02-17 19:12:36      阅读:124      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!