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")
与上一个相比,由于网络往返次数减半,您的吞吐量将翻倍。
我正在使用 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")
与上一个相比,由于网络往返次数减半,您的吞吐量将翻倍。