在Redis中存储定时列表

时间:2012-11-26 21:17:44

标签: redis

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

使用Redis有什么解决方案/解决方法?

1 个答案:

答案 0 :(得分:3)

ID是否唯一?如果是这样,那么您可以使用SORTED SET而不是LIST(在这种情况下无论如何都是更好的,无论我刚要描述的是哪种黑客攻击)。

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