redis列表项目,TTL和按分数排名

时间:2011-09-22 12:45:21

标签: nosql redis

我想在过去的5000次观看中按页面点击对博客文章进行排序。

我正在尝试以下内容(200,205,202是博客文章的内容):

ZINCRBY blog_hits 1 200
ZINCRBY blog_hits 1 200
ZINCRBY blog_hits 1 200
ZINCRBY blog_hits 1 205
ZINCRBY blog_hits 1 205
ZINCRBY blog_hits 1 202
ZRANGEBYSCORE blog_hits 0 9 WITHSCORES

这会给我十大浏览页面。唯一的问题是ZINCRBY似乎没有TTL或忽略增量超过5000增量的方式。

有没有办法可以使用列表,添加博客ID的条目,然后LTRIM列表并获得分数?如果这样你可以写一个小例子吗?如果没有,我会热切地想看看如何才能最好地解决这个问题。

谢谢, 标记

1 个答案:

答案 0 :(得分:1)

尝试blog_hits_date,然后总结一周

ZINCRBY "blog_hits_09_24_2011" 1 200
TTL "blog_hits_09_24_2011" 3600*24*7

或使用匹配>移动ID 5000到另一个列表(* blog_hits_over_5000 *)。