如何获取一个学生排行榜?
要用到2个关键词 zrangebyscore (升序排列) zrevrangebyscore (倒序排列)
下面我们给定一个分数范围来升序 或者 倒序得到一个排行榜.
192.168.1.175:6377> zrangebyscore testset 80 150
1) "aaa"
2) "bbb"
3) "ccc"
4) "ddd"
5) "eee"
192.168.1.175:6377> zrangebyscore testset 80 100
1) "aaa"
2) "bbb"
192.168.1.175:6377> zrevrangebyscore testset 150 70
1) "eee"
2) "ddd"
3) "ccc"
4) "bbb"
5) "aaa"
利用并集实现多天的积分总和,实现“上周积分榜”:
ZUNIONSTORE rank:last_week 7 rank:20150323 rank:20150324 rank:20150325 rank:20150326 rank:20150327 rank:20150328 rank:20150329 WEIGHTS 1 1 1 1 1 1 1
这样就将 7 天的积分记录合并到有序集合 rank:last_week 中了。权重因子 WEIGHTS 如果不给,默认就是 1。为了不隐藏细节,特意写出。