## Redis专题三:key的过期
[TOC]
> 当timeout时间到期时,key会被redis自动删除,新建key默认是永远不会过期的
### timeout相关命令
| 命令 | 解释 | 返回值 |
| --- | --- | --- |
| `EXPIRE key second`| 为key设置timeout,单位为秒 |1表示timeout设置成功
0表示key不存在|
| `EXPIRE key milliseconds`| 为key设置timeout,单位为毫秒 |1表示timeout设置成功
0表示key不存在|
| `TTL key`| key还有多少秒超时 |-2表示key不存在
-1表示key存在且没有过期
其它非负值表示过期的剩余秒数|
| `PTTL key`| key还有多少毫秒超时 |-2表示key不存在
-1表示key存在且没有过期
其它非负值表示过期的剩余毫秒数|
| `EXPIREAT key second_timestamp`| 设置key在未来的一个时刻过期,值为从`1970-1-1`到指定未来时间的时间间隔,单位为秒 |1表示timeout设置成功
0表示key不存在|
| `PEXPIREAT key milliseconds_timestamp`| 设置key在未来的一个时刻过期,值为从`1970-1-1`到指定未来时间的时间间隔,单位为毫秒 |1表示timeout设置成功
0表示key不存在|
| `PERSIST key`| 移除timeout,设置key永远不过期|