Redis中执行HSET操作会影响哈希键已有的TTL吗?
HSET操作对Redis哈希键TTL的影响
执行HSET操作不会影响哈希键本身的TTL,这和普通SET操作的默认行为有明显区别。
普通SET操作在未指定KEEPTTL参数时,会直接清除目标键的TTL——因为SET是对整个键值的完全覆盖;而HSET仅针对哈希键内部的字段做新增或修改,属于键值内容的局部更新操作,不会触发键本身生存时间的重置或清除。
举个实际操作的例子:
- 创建哈希键并设置TTL:
此时查询HMSET user:1 name "Alice" age 25 EXPIRE user:1 3600TTL user:1会返回3600左右的数值。 - 执行HSET修改字段:
HSET user:1 age 26 - 再次查询TTL:
返回值会是当前剩余的有效时间(比如3590秒),证明哈希键的TTL并未受到HSET操作的影响。TTL user:1
内容的提问来源于stack exchange,提问作者TylerKehne
相关产品推荐
相关产品推荐

