【问题标题】:Redis suggesstion for selecting data typeRedis 选择数据类型的建议
【发布时间】:2012-10-13 23:33:56
【问题描述】:

我们有问题基于我们在主页中显示 2 个列表的位置

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

以前我直接查询 MySQL 数据库并获取值,所以很容易。 但是每个页面请求都打到 MySQL 它有点贵然后开始做缓存。

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

问题是在第二个列表中,我必须通过投票显示问题,而不是结合起来回答。 我如何将这种类型的数据存储在 redis 中,以便通过基于 2 个条件投票与时间和 ans 随时间计数的排序来更快地加载?

【问题讨论】:

    标签: redis


    【解决方案1】:

    您可以在 redis 中使用排序集。您的视图或答案计数可以是分数。根据时间戳创建密钥。排序集方法 zrevrangebyscore 会给你正确的顺序。

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

    'YEAR_MONTH_DATE_HOUR_MINUTE_SECONDS:question_id'
    

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

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

    我问了一个类似的问题,我也有一个解决方案。我想要一些不同的东西,但它会做你想要的。

    Redis zrevrangebyscore, sorting other than lexicographical order

    【讨论】:

    • 干草它的作品感谢帮助redis是gr8。我需要探索更多的 redis 文档。
    猜你喜欢
    • 1970-01-01
    • 2011-10-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-01
    • 1970-01-01
    相关资源
    最近更新 更多