1

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

使用 Redis 有哪些解决方案/解决方法?

4

1 回答 1

3

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

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

于 2012-11-27T03:04:20.050 回答