简介:
这篇笔记主要记录一下redis中key自动过期的设置。
命令介绍:
1.expire
可用版本: >=1.0.0
时间复杂度: O(1)
命令格式: expire key seconds
作用:
为给定的key设置生存时间,当key过期时,它会被自动删除。
返回值:
设置成功返回1,失败返回0。
注意:
设置了生存时间的key,依然可以使用del直接删除。
使用其他命令修改带生存时间key的值的时候,这个key的生存时间不会改变(包括重命名)。
expire命令会覆盖key原有的生存时间。
过期时间的精确度,2.6之前在一秒钟,2.6之后降低到了1毫秒以内。
在2.1.3版本之前,修改一个有生存时间的key时,会删除key。
2.expireat
可用版本: >=1.2.0
时间复杂度: O(1)
命令格式: expireat key timestamp
作用:
为给定的key设置生成时间,与上面不同之处在于,expireat设置的时间为时间戳,到了设置时间戳就过期。
返回值:
设置成功返回1,失败返回0.
3.ttl
可用版本: >=1.0.0
时间复杂度: O(1)
命令格式: ttl key
作用:
以秒为单位,获取指定key的剩余生存时间。
返回值:
key的剩余生存时间。
注意:
key不存在返回-2。
key存在但是没有生存时间设置的话,返回-1。
4.persist
可用版本: >=2.2.0
时间复杂度: O(1)
命令格式: persist key
作用:
移除key的生存时间,key由“易失的”变成一个“持久的”。
返回值:
移除成功返回1,失败返回0。
5.pexpire
可用版本: >=2.6.0
时间复杂度: O(1)
命令格式: pexpire key millliseconds
作用:
以毫秒为单位设置key的生存时间。
返回值:
设置成功返回1,失败返回0。
6.pexpireat
可用版本: >=2.6.0
时间复杂度: O(1)
命令格式: pexpireat key milliseconds-timestamp
作用:
以毫秒为单位的时间戳设置key的过期时间。
返回值:
设置成功返回1,失败返回0。
7.pttl
可用版本: >=2.6.0
时间复杂度: O(1)
命令格式: pttl key
作用:
以毫秒为单位回去key的剩余生存时间。
返回值:
key不存在时,返回-2。
key存在但是没有剩余生存时间,返回-1。
其余,返回正常的剩余生存时间。
注意:
2.8版本之前,key不存在和没有剩余生存时间,都返回-1。