1. TTL key
以秒为单位,返回给定 key 的剩余生存时间(TTL, time to live)。
起始版本:
1.0.0
时间复杂度:
O(1)
返回值:
从Redis2.8开始, 返回key有效的秒数(TTL in seconds),或者一个负值的错误。
- 当 key 不存在时,返回 -2 。
- 当 key 存在但没有设置剩余生存时间时(永久有效),返回 -1 。
- 否则,以秒为单位,返回 key 的剩余生存时间。
- 在 Redis 2.8 以前,当 key 不存在,或者 key 没有设置剩余生存时间时,命令都返回 -1 。
PTTL
命令返回相同的信息,只不过他的时间单位是毫秒(仅适用于Redis 2.6及更高版本)
案例
redis.dev.7mxing.com:6379[10]> KEYS *
1) "three"
2) "two"
# 如果key不存在,返回-2
redis.dev.7mxing.com:6379[10]> TTL one
(integer) -2
# 如果key存在,但没有设置过期时间,返回-1
redis.dev.7mxing.com:6379[10]> ttl two
(integer) -1
# 如果key存在,且设置了过期时间的,返回以秒为单位的过期时间
redis.dev.7mxing.com:6379[10]> EXPIRE two 60
(integer) 1
redis.dev.7mxing.com:6379[10]> ttl two
(integer) 57
redis.dev.7mxing.com:6379[10]> ttl two
(integer) 48
# key已过期,则此key不再存在, 返回-2
redis.dev.7mxing.com:6379[10]> ttl two
(integer) -2