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