2012-11-26 38 views
1

我有一堆需要存储在Redis列表中的ID。这很简单。这些ID只是无符号整数。几个小时后,我需要一个ID在列表中过期。目前我没有看到这样做的方法,因为您只能在整个键上设置到期时间,而不是列表中的元素。在Redis中存储时间列表

使用Redis的一些解决方案/解决方法是什么?

回答

3

这些ID是唯一的吗?如果是这样,那么你可以使用SORTED SET而不是LIST(在这种情况下更好,无论我刚刚描述的是什么黑客)。

然后,使用一个Unix时间作为得分每个项目的。这些项目将不会自动删除,但您可以运行一些不时删除旧项目的工作人员(使用ZRANGEBYSCORE对某些范围进行排序),并且无论如何,在您的客户代码中,您可以检查项目的得分提取并验证它没有(逻辑上)过期。