想起在上一家公司做的一个需求,类似做个用户的中奖状况的滚动条(比如取出前20名来滚动),中奖用户根据中奖状况排序,当时数据存在mongodb中,各种aggregation和排序,现在想想其实本质是个排行榜,完全可以用redis来实现这个排行榜。
redis中的zset保证元素的唯一性以及有序性
zadd命令如上,增加或者修改命令
ranking是key 数字是score权重值,
zrang KEY start end 显示排名,zrang KEY 0 -1 显示所有排名(score值越小排在越前面)
查询某个value排名 zrank KEY MEMBER(排名第一是0)