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

跟命令 TTL 类似,如果键 key 设置了一个过期时间,当前命令将会返回剩余存在时间,唯一不同的是,TTL 返回的剩余存在时间以秒(Seconds)为单位,而 PTTL 将会以毫秒(Milliseconds)为单位返回该值。

Like TTL this command returns the remaining time to live of a key that has an expire set, with the sole difference that TTL returns the amount of remaining time in seconds while PTTL returns it in milliseconds.

Redis2.6 或之前版本里,当键不存在或存在但未关联过期时间时,当前命令将会返回 -1

2.8 版本开始,不同错误类型返回的值将会不同:

  • 如果键不存在,返回 -2
  • 如果键存在,但未关联过期时间,返回 -1

In Redis 2.6 or older the command returns -1 if the key does not exist or if the key exist but has no associated expire.

Starting with Redis 2.8 the return value in case of error changed:

The command returns -2 if the key does not exist.

The command returns -1 if the key exists but has no associated expire.

  • 返回以毫秒为单位的 TTL 值,或返回一个负值来提示某个错误的发生(具体见上述)。

    TTL in milliseconds, or a negative value in order to signal an error (see the description above).
  • redis> SET mykey "Hello"
    OK
    redis> EXPIRE mykey 1
    (integer) 1
    redis> PTTL mykey
    (integer) 999
  • 版本支持

    2.6.0+

    时间复杂度(Time complexity)

    O(1)