本文内容为 http://www.redis.io/commands/expireat 的翻译、注解、例子扩充及其它修改。感谢 Redis 作者 Antirez 为开源社区作出的贡献,本文保证最新、最准、最全以表示对其的敬意。欢迎留言纠错、提示更新或支持。
EXPIREAT key timestamp

命令 EXPIREAT 与命令 EXPIRE 拥有相同的效果及语义,除了使用一个绝对 Unix 时间戳(Unix timestamp,从 197011 号开始的秒数)来表示存在时间(TTL,time to live),而不是指定秒数。

EXPIREAT has the same effect and semantic as EXPIRE, but instead of specifying the number of seconds representing the TTL (time to live), it takes an absolute Unix timestamp (seconds since January 1, 1970).

更多信息请查询对命令 EXPIRE 的介绍。

  • 过期时间设置成功,则返回 1

    如果键 key 不存在或过期时间未被设置,则返回 0(具体查询 EXPIRE)。

    • 1 if the timeout was set.
    • 0 if key does not exist or the timeout could not be set (see: EXPIRE).
  • redis> SET mykey "Hello"
    OK
    redis> EXISTS mykey
    (integer) 1
    redis> EXPIREAT mykey 1293840000
    (integer) 1
    redis> EXISTS mykey
    (integer) 0
  • 命令 EXPIREAT 的引入是为了能够将相对超时时间(Relative timeouts)转换成绝对超时时间(Absolute timeouts),以便用于 AOF 持久模式(AOF persistence mode)。当然,该命令也可以直接为一个键指定一个发生在未来的到期时间。

    EXPIREAT was introduced in order to convert relative timeouts to absolute timeouts for the AOF persistence mode. Of course, it can be used directly to specify that a given key should expire at a given time in the future.
  • 版本支持

    1.2.0+

    时间复杂度(Time complexity)

    O(1)