Redis建议选择数据类型

时间:2012-10-12 07:21:44

标签: redis

我们有问题根据主页我们在哪里显示2列表

  1. 修改日期的问题
  2. 问题有更大的意见和数量。在这两个列表中,如果问题具有相同的视图或ans计数,则排序基于日期。
  3. 以前我直接向MySQL数据库求助并获取值,因此很容易。 但每个页面请求命中MySQL都有点贵,然后开始进行缓存。

    我开始使用Redis。以下是我使用redis缓存

    的情况

    问题是在第二次上市时,我必须通过投票显示问题,而不是回答组合。 我如何在redis中存储这种类型的数据以加快加载速度,基于2个条件投票与时间和ans计数与时间?

1 个答案:

答案 0 :(得分:1)

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

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

'YEAR_MONTH_DATE_HOUR_MINUTE_SECONDS:question_id'

这样,如果您排序,具有相同分数的问题将按字典顺序返回。如果您使用zrevrangebyscore,那么后来出现的问题会更高。

您可以创建哈希映射来映射时间戳和question_id。更快的查找

我问过一个类似的问题,我也提出了一个解决方案。我想要不同的东西,但它会完全符合你的要求。

Redis zrevrangebyscore, sorting other than lexicographical order