
Redis键值更新:保持时间戳不变的技巧
在Redis中更新键值时,默认会更新键的最后访问时间(TTL)。 如果需要只修改值而不影响时间戳,该如何操作呢?
Redis 6.0.0及以上版本提供了一个便捷的解决方案:KEEPTTL选项。 使用该选项,可以在更新键值的同时保留其现有的生存时间(TTL)。 这意味着即使修改了值,过期时间也不会改变。
命令格式如下:
SET key value KEEPTTL
例如,键mykey的值为oldvalue,且已设置过期时间。 要将值更新为newvalue并保留过期时间,可以使用以下命令:
SET mykey newvalue KEEPTTL
执行后,mykey的值变为newvalue,但过期时间保持不变。 这在需要更新数据但需维持原有过期策略的场景中非常实用。
在Redis 6.0.0之前的版本,需要采用其他方法,例如Lua脚本或先获取TTL再重新设置。 KEEPTTL选项提供了更简洁高效的解决方案。










