首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >选择数据类型的建议

问选择数据类型的建议
EN

Stack Overflow用户
提问于 2012-10-12 07:21:44
回答 1查看 609关注 0票数 0

我们有基于主页的问题,我们显示了两个列表

  1. 按日期分列的问题修改
  2. 问题有更大的观点和数量。在这两个列表中,如果问题有相同的视图或ans计数,则排序是基于日期的。

以前,我直接查询MySQL数据库并获取值,所以很容易。但是,每个页面请求都指向MySQL,这有点昂贵,然后开始进行缓存。

我开始使用Redis。下面是我使用redis缓存时的情况

问题在第二个列表中,我必须以投票方式显示问题,而未回答合并。如何将这种类型的数据存储在redis中,以便根据2种条件、投票和时间进行排序,从而更快地加载?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-10-13 15:33:56

您可以在redis中使用排序集。您的观点或回答计数可以是得分。根据时间戳创建密钥。排序集方法zrevrangebyscore将为您提供正确的顺序。

可以将排序集的成员设置为:

代码语言:javascript
复制
'YEAR_MONTH_DATE_HOUR_MINUTE_SECONDS:question_id'

这样,如果你排序,相同分数的问题,将以字典顺序返回。这样,如果你使用zrevrangebyscore,那么后面出现的问题就会被放在更高的位置。

您可以创建一个哈希映射来映射时间戳和question_id。为了更快地查找

我问了一个类似的问题,其中我也提出了一个解决方案。我想要不同的东西,但它会做你想做的事。

Redis zrevrangebyscore, sorting other than lexicographical order

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

https://stackoverflow.com/questions/12854149

复制
相关文章

相似问题

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