我在 redis 中有一些带有 TTL 的键。因此,通常当 TTL 通过时 key 将被逐出。
但我想做的是,在每次访问(检索) key 时,我都想将 TTL 重置为我之前设置的原始值。
例如:我给一个key设置了2小时。 1 小时后, key 被访问。我想那个时候再把TTL设置成2小时。因此, key 只有在其 TTL 生命周期内未被访问时才会被逐出。
如何有效地做到这一点?
最佳答案
您只能通过使用访问命令发出另一个 EXPIRE
命令来完成此操作。即使是 official documentation没有提及任何其他选项。
您可能希望将这些命令放在管道上以获得更好的响应时间。
例如:
connection = redis.StrictRedis()
with connection.pipeline() as pipe:
pipe.get("key")
pipe.expire("key", 7200)
pipe.execute()
关于python - 访问redis键时如何重置TTL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57843030/