当前需求:各排行榜统计并显示前100名玩家。
新增需求:战阶排行榜只需要显示前100玩家,但每周需要根据排名发放奖励。实际上就是要存全服所有玩家的战阶积分排名,数据量大大增加的情况下,也势必要对排行榜存储结构进行优化。
之前做法:
每个排行榜都是个list,所有玩家排行信息都存成TTopListInfo.
_sortlist = [info, info, info...]

缺点是,遍历查找不便。比如,进行删除玩家的操作:

以及更新排行榜数据,更为繁琐:


优化后,修改为,用dict和list进行存储。原有的TTopListInfo去掉ranking属性。
_sortlist[uuid] = info. #存储排行榜玩家相关信息 _ranklist = [uuid, uuid, uuid...]#仅存储名次及玩家uuid
对于数据的操作就大大便利了,可读性也提高了。


浙公网安备 33010602011771号