标签: redis
我正在使用jedis,一个redis java客户端。我有一个字符串项的队列。按照惯例,我使用lpush lpop rpush rpop进行必要的操作。但我想为队列中的每个项目设置到期日期。有可能吗?
答案 0 :(得分:4)
为了保持redis的简单和快速,在redis by design中这是不可能的。
您可以将过期值与字符串一起存储在列表中,也可以存储单独的过期时间列表,以便让应用程序知道密钥是否已过期。
还讨论了另一种解决方案here。您可以将值存储在已过期时间戳作为分数的有序集中,并仅选择那些分数大于特定时间戳的成员。 (这当然会让你的应用程序清除一组中过期的元素)