有没有办法让 redis 键值随着时间的推移减少 1?

  • 本文关键字:时间 redis 键值 有没有 redis
  • 更新时间 :
  • 英文 :


我只想在 Redis 数据库中使用 1 个键值对。 并且该值将每 1 秒减少 60 个。可能吗?

一个有趣的问题:)是的,你可以用一个技巧来做到这一点。

众所周知,Redis TTL 可以随着时间的推移自动降低。因此,您可以使用TTL作为值,TTL每秒将减少1

。比如说,你想设置一个值N,为了实现你的目标,你可以设置一个过期TTL = 60 * N的键值对:

SET key N EX TTL

当您想要获取值时,只需获取其 TTL,然后进行一些数学运算:

ttl = TTL key
if (ttl > 0)
value = ttl / 60 + 1
else
// no longer exist

最新更新