1. 程式人生 > >Redis中的排名 有序集合 排名排名相同看時間

Redis中的排名 有序集合 排名排名相同看時間

筆者在做一個每天一更的功能的時候 , 需要用到 ,每天找到闖關等級最高往下依次數到100個,但是這個100中有序玩家的等級相同的看是時間的早晚,早上榜的先給玩家排在前面。

又因為Redis中有序集合的分數排序分數相同的用字典的方式儲存,不是時間,所以比較讓人腦大。

想了很多辦法,最後發現還是的在score上做文章,舉個例子。

玩家的等級最高是50    每天的時間有86400秒      我們讓有序集合中的score=(每天的秒數最高位*10為單位,最高位是1萬,那就是10000*10)100000*50(等級)+當前的小時*3600+分鐘*60+秒  

這樣的話 我們就可以得出這個人的相關的分數,如果你需要更加精確的話 可以從毫秒開始 這樣就不會遇見相同的了