笔者在做一个每天一更的功能的时候 , 需要用到 ,每天找到闯关等级最高往下依次数到100个,但是这个100中有序玩家的等级相同的看是时间的早晚,早上榜的先给玩家排在前面。
又因为Redis中有序集合的分数排序分数相同的用字典的方式储存,不是时间,所以比较让人脑大。
想了很多办法,最后发现还是的在score上做文章,举个例子。
玩家的等级最高是50 每天的时间有86400秒 我们让有序集合中的score=(每天的秒数最高位*10为单位,最高位是1万,那就是10000*10)100000*50(等级)+当前的小时*3600+分钟*60+秒
这样的话 我们就可以得出这个人的相关的分数,如果你需要更加精确的话 可以从毫秒开始 这样就不会遇见相同的了

369

被折叠的 条评论
为什么被折叠?



