【发布时间】:2018-09-09 01:43:39
【问题描述】:
根据redis doc:
EXPIREAT 与 EXPIRE 具有相同的效果和语义,但不是 指定表示 TTL(生存时间)的秒数, 它需要一个绝对的 Unix 时间戳(自 1970 年 1 月 1 日以来的秒数)。一种 过去的时间戳将立即删除密钥。
在设置过去的时间戳时,我得到的行为与文档完全相同,只是没有抛出密钥到期事件。
redis> SET mykey "Hello"
"OK"
redis> EXISTS mykey
(integer) 1
redis> EXPIREAT mykey 1293840000
(integer) 1
redis> EXISTS mykey
(integer) 0
当我在EXPIREAT 命令中设置未来时间戳时,它会在密钥过期时引发密钥过期事件。
那么是不是不支持在通过EXPIREAT设置过去时间戳的时候获取key过期事件?
【问题讨论】: