在 Redis 2.6 或更早版本中,如果key不存在或key存在但没有设置过期时间,则该命令返回 -1。
从 Redis 2.8 开始,发生错误时的返回值发生了变化:
- 如果key不存在,该命令返回 -2。
- 如果key存在但没有设置过期时间,则该命令返回 -1。
pttl key
可用版本
>=2.6.0.
返回值
存在
有过期时间:返回毫秒为单位的整数值;
没有过期时间:返回-1。
不存在
参考上面的Redis2.8版本返回-2。
示例127.0.0.1:6379> set yxjc 123
OK
127.0.0.1:6379> expire yxjc 20
(integer) 1
127.0.0.1:6379> pttl yxjc #返回过期时间毫秒
(integer) 14752
127.0.0.1:6379> pttl redis #不存在返回-2 因为这里使用的版本大于2.8
(integer) -2
127.0.0.1:6379> set hello world
OK
127.0.0.1:6379> pttl hello #没有过期时间
(integer) -1
127.0.0.1:6379>