首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Redis集合的“评分”和“排名”功能的用例

Redis集合的“评分”和“排名”功能的用例
EN

Stack Overflow用户
提问于 2013-08-03 04:57:26
回答 2查看 1.7K关注 0票数 0

除了典型的游戏“排行榜”示例之外,Redis的“评分”和“排名”功能集有哪些用例?我正在试图弄清楚如何利用这些动态的新功能,因为我预计将从使用传统的关系数据库迁移到Redis作为持久数据存储。

EN

回答 2

Stack Overflow用户

发布于 2013-08-03 07:13:06

ZSET非常适合基于分数的选择或范围,但分数可以是任何数值,如时间戳。

我们以redis存储所有美国股票的每日股票价格。这里有一个易趣的例子..。

代码语言:javascript
复制
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 3score中提取...

代码语言:javascript
复制
zrangebyscore stocks:ebay 1 3

1) "30.39"
2) "32.70"
3) "31.25"

查询速度非常快,可以很好地满足我们的需求。

希望它能帮上忙!

票数 5
EN

Stack Overflow用户

发布于 2013-08-03 05:34:17

zset是唯一可以排序的键类型

例如,您可以想象将特定文章的所有评论键id放入zset中,用户将对每条评论进行投票,这将更改分值。

之后,当您需要绘制注释时,您可以将它们排序,将更好的注释放在第一位(如这里)

使用ZREMRANGEBYSCORE,你可以想象每天删除所有不好的评论

但由于每一个redis类型,它们仍然是基本的,给你一个专用的用例是困难的,可以有一些:- )

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18026009

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档