Redis的新成員。需要一些幫助。Redis:多個排序集合中成員的分段有序zrank獲取
使用案例: 我有成千上萬的排行榜。他們有用戶名和適當的分數。用戶可以屬於一個或多個排行榜。我需要一種有效的方法來獲得特定用戶所屬的每個排行榜的排名,最好按排名和分頁排序。典型用戶將屬於數百個排行榜。
因爲我是GOT: 我爲每個包含他所屬董事會的用戶保留一套。爲了得到用戶的排名,我得到他的一套棋盤,然後在每個棋盤上縮小棋盤,然後在我的代碼中排名。這看起來效率很低,不支持分頁。
我一直在閱讀和頭腦風暴,我卡住了。我需要的是這樣的:
USER1:板(A,C,E)
板:一個(用戶1,user23,USER5)
板:B(用戶2 user7,USER12)
板:C (用戶2,用戶1,user42)
板:d(user36,USER4,USER9)
板:E(user6,user19,用戶1)
SORT USER1:板BY板:* - > USER1
類似於通過散列字段進行排序,除了 - >在這種情況下意味着所提供的會員的排序集合分數。如果存在這樣的特徵,會不會有任何性能改進?或者它會和所有的zranks流水線一樣嗎?
謝謝。
Upvoted :)但是這裏有一個棘手的問題 - 如果user1的分數受到另一個用戶分數變化的影響會怎麼樣 - 這意味着在board1中,user1的ZRANK發生了變化,因爲user5踢了他的屁股? – 2015-04-02 11:03:25
Dhruv,我想到了這種方法,但正如Itamar所說,用戶的排名受其他人的活動影響。所以即使沒有他做任何事情,他的最高等級也可能下降我開始得出這樣的結論:如果不單獨對每塊電路板進行評估,我所需要的是不可能的。 – Andre 2015-04-03 20:27:11