Redis EXPIRE命令的作用是为键设置过期时间,让Redis数据库自动删除过期的键。
使用方法:
EXPIRE key seconds
将键值对key的过期时间设置为seconds秒后自动删除。如果键不存在或者没有生存时间,返回0;如果设置成功,返回1。
可以通过TTL命令查看键的剩余存活时间。
实例1
redis> SET mykey "hello"
OK
redis> EXPIRE mykey 10
(integer) 1
redis> TTL mykey
(integer) 8
redis> TTL mykey
(integer) 2
redis> TTL mykey
(integer) -2
redis> GET mykey
(nil)
在这个实例中,我先通过SET命令创建了一个key为"mykey"的键值对,然后通过EXPIRE命令设置了该键值对的过期时间为10秒。通过TTL命令查看该键值对的剩余存活时间多次,最后在-2秒的时候键值对被自动删除,使用GET命令查看"mykey"键已经被删除。
实例2
redis> SET mykey "redis"
OK
redis> EXPIRE mykey 60
(integer) 1
redis> TTL mykey
(integer) 58
redis> PERSIST mykey
(integer) 1
redis> TTL mykey
(integer) -1
redis> GET mykey
"redis"
在这个实例中,我先通过SET命令创建了一个key为"mykey"的键值对,然后通过EXPIRE命令设置了该键值对的过期时间为60秒。通过TTL命令查看该键值对的剩余存活时间,然后通过PERSIST命令让该键值对永久保存。使用GET命令查看"mykey"键的值,发现它没有被删除。