除了典型的游戏“排行榜”示例之外,Redis的“评分”和“排名”功能集有哪些用例?我正在试图弄清楚如何利用这些动态的新功能,因为我预计将从使用传统的关系数据库迁移到Redis作为持久数据存储。
发布于 2013-08-03 07:13:06
ZSET非常适合基于分数的选择或范围,但分数可以是任何数值,如时间戳。
我们以redis存储所有美国股票的每日股票价格。这里有一个易趣的例子..。
ZADD key score member [score member ...]
...
ZADD stocks:ebay 1 30.39 2 32.70 3 31.25 4 31.75 5 29.12 6 29.87 7 29.93本例中的redis值通常是长时间戳,如果我们想要过去3天的每日价格,我们只需将两个日期转换为时间戳,并使用时间戳范围1 3从score中提取...
zrangebyscore stocks:ebay 1 3
1) "30.39"
2) "32.70"
3) "31.25"查询速度非常快,可以很好地满足我们的需求。
希望它能帮上忙!
发布于 2013-08-03 05:34:17
zset是唯一可以排序的键类型
例如,您可以想象将特定文章的所有评论键id放入zset中,用户将对每条评论进行投票,这将更改分值。
之后,当您需要绘制注释时,您可以将它们排序,将更好的注释放在第一位(如这里)
使用ZREMRANGEBYSCORE,你可以想象每天删除所有不好的评论
但由于每一个redis类型,它们仍然是基本的,给你一个专用的用例是困难的,可以有一些:- )
https://stackoverflow.com/questions/18026009
复制相似问题