1. EXPIRE、PEXPIRE:设置生存时间
EXPIRE key seconds
:设置秒级精度的生存时间
PEXPIRE key millseconds
:设置毫秒级精度的生存时间
127.0.0.1:6379> SET msg "Hello"
OK
127.0.0.1:6379> EXPIRE msg 5
(integer) 1
127.0.0.1:6379> GET msg
"Hello"
127.0.0.1:6379> GET msg # 5s之后再访问msg msg键已经不存在
(nil)
- 对一个已经带有生存时间的键执行EXPIRE命令或PEXPIRE命令时,键原有的生存时间将会被移除,并设置新的生存时间
2. SET命令的EX选项和PX选项
SET key [EX seconds] [PX millseconds]
: 在设置键的时候同时设置键的存在时间
127.0.0.1:6379> SET msg "Hello" EX 5
OK
127.0.0.1:6379> GET msg
"Hello"
127.0.0.1:6379> GET msg
(nil)
3. EXPIREAT、PEXPIREAT:设置过期时间
EXPIREAT key seconds_timestamp
PEXPIREAT key millseconds_timestamp
这里设置的UNIX时间戳,是一个时间点,到达该时间点后键值失效
4. TTL、PTTL:获取键的剩余生存时间
TTL key
: 获取键的剩余时间(秒)
PTTL key
:获取键的剩余时间(毫秒)
127.0.0.1:6379> SET msg "Hello" EX 10
OK
127.0.0.1:6379> TTL msg
(integer) 4
127.0.0.1:6379> PTTL msg
(integer) 1751
127.0.0.1:6379>
127.0.0.1:6379> SET msg "hello"
OK
127.0.0.1:6379> TTL msg # 没有设置生存时间 TTL返回-1 PTTL同
(integer) -1
127.0.0.1:6379> TTL msg2 # 键不存在 TTL返回-2 PTTL同
(integer) -2
参考书籍:《Redis使用手册》 黄健宏