
高效更新Redis数据:巧妙保留过期时间
在Redis中更新键值对时,如何避免修改其过期时间?这是个常见问题。 SET 命令默认会重置过期时间,这在需要维护数据有效期的情况下会带来不便。
Redis 6.0及以上版本提供了一种简洁的解决方案:SET key value KEEPTTL 命令。 此命令允许在更新键值的同时保留其原有的过期时间(TTL)。 这意味着您可以更新数据内容,而无需重新设置过期时间。
这对于缓存更新等场景非常有用,例如,缓存项的有效期已预先设定,您只需更新缓存数据,而无需重新设置其TTL。 在Redis 6.0之前,需要更复杂的方案(例如先获取TTL,再用SETEX 命令),而KEEPTTL 极大简化了这一过程。
因此,强烈建议在Redis 6.0及以上版本中使用 SET key value KEEPTTL 命令,以高效地更新数据并保持其过期时间不变。










