【问题标题】:how to set expiry for every item in redis queue如何为redis队列中的每个项目设置过期时间
【发布时间】:2014-03-07 17:26:40
【问题描述】:

我正在使用 jedis,一个 redis java 客户端。我有一个字符串项目队列。按照正常情况,我使用 lpush lpop rpush rpop 进行必要的操作。但我想为队列中的每个单独项目设置到期时间。有可能吗?

【问题讨论】:

  • 没有。您只能在密钥级别使项目过期。
  • 有什么办法可以解决这个问题?使用其他结构?

标签: redis


【解决方案1】:

这在 redis by design 中是不可能的,为了保持 redis 的简单和快速。

您可以将过期值与字符串一起存储在列表中,或者存储单独的过期时间列表,让您的应用程序知道密钥是否已过期。

here 还讨论了另一种解决方案。您可以将值存储在具有过期时间戳作为分数的排序集中,并且只选择那些分数大于某个时间戳的成员。 (这当然留给您的应用程序来清除集合中的过期元素)

【讨论】:

    猜你喜欢
    • 2013-10-02
    • 2022-06-10
    • 2016-05-15
    • 2019-05-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-22
    相关资源
    最近更新 更多