我们有基于主页的问题,我们显示了两个列表
以前,我直接查询MySQL数据库并获取值,所以很容易。但是,每个页面请求都指向MySQL,这有点昂贵,然后开始进行缓存。
我开始使用Redis。下面是我使用redis缓存时的情况
问题在第二个列表中,我必须以投票方式显示问题,而未回答合并。如何将这种类型的数据存储在redis中,以便根据2种条件、投票和时间进行排序,从而更快地加载?
发布于 2012-10-13 15:33:56
您可以在redis中使用排序集。您的观点或回答计数可以是得分。根据时间戳创建密钥。排序集方法zrevrangebyscore将为您提供正确的顺序。
可以将排序集的成员设置为:
'YEAR_MONTH_DATE_HOUR_MINUTE_SECONDS:question_id'这样,如果你排序,相同分数的问题,将以字典顺序返回。这样,如果你使用zrevrangebyscore,那么后面出现的问题就会被放在更高的位置。
您可以创建一个哈希映射来映射时间戳和question_id。为了更快地查找
我问了一个类似的问题,其中我也提出了一个解决方案。我想要不同的东西,但它会做你想做的事。
Redis zrevrangebyscore, sorting other than lexicographical order
https://stackoverflow.com/questions/12854149
复制相似问题