Redis是否重置过期时间

Does Redis reset expiration time

我正在使用 client.setex() 创建一个过期时间为 3600 秒的 Redis 缓存,但我也会不时更新它,为此我正在使用 client.set()。 想知道每次更新缓存时过期时间是保持不变还是延长 3600。

set()会去掉Redis中已有的过期时间。

您可以使用:

client.set(key,value, "EX", client.ttl(key))

用于延续到期时间。

了解更多详情:

是正确的。但是由于 client.ttl(key).

这涉及另一个网络往返

你应该考虑 KEEPTTL 参数与 SET 命令,自 Redis 6.0 起可用。

client.set(key, value, "KEEPTTL")

与上一个相比,由于网络往返次数减半,您的吞吐量将翻倍。