在设置同时指定 EX 和 KEEPTTL 选项的密钥时,Redis 会做什么?
What does Redis do when setting a key with both EX and KEEPTTL options specified?
我不清楚 Redis documentation 如果同时使用 EX
和 KEEPTTL
选项,SET
命令会发生什么。
在我看来,有以下三种选择:
- 如果key存在,不修改TTL。如果密钥不存在
使用
EX
选项指定的到期时间
- 如果key存在,不修改TTL。如果钥匙不
存在,它不会设置过期并且条目永远存在
- 忽略
KEEPTTL
并设置新密钥和现有密钥的到期时间
是哪一个?
都没有。
相反,Redis returns 一个错误回复,因为这两个选项是冲突的。
我不清楚 Redis documentation 如果同时使用 EX
和 KEEPTTL
选项,SET
命令会发生什么。
在我看来,有以下三种选择:
- 如果key存在,不修改TTL。如果密钥不存在
使用
EX
选项指定的到期时间 - 如果key存在,不修改TTL。如果钥匙不 存在,它不会设置过期并且条目永远存在
- 忽略
KEEPTTL
并设置新密钥和现有密钥的到期时间
是哪一个?
都没有。
相反,Redis returns 一个错误回复,因为这两个选项是冲突的。