这次介绍三个 redis 命令:
Expire 命令用于设置 key 的过期时间,key 过期后将不再可用。单位以秒计。
PERSIST 命令用于移除给定 key 的过期时间,使得 key 永不过期。
TTL 命令以秒为单位返回 key 的剩余过期时间。
Expire
EXPIRE key_name
设置成功返回 1 。 当 key 不存在或者不能为 key 设置过期时间时(比如在低于 2.1.3 版本的 Redis 中你尝试更新 key 的过期时间)返回 0 。
PERSIST
PERSIST key_name
当过期时间移除成功时,返回 1 。 如果 key 不存在或 key 没有设置过期时间,返回 0 。
TTL
TTL key_name
当 key 不存在时,返回 -2 。 当 key 存在但没有设置剩余生存时间时,返回 -1 。 否则,以秒为单位,返回 key 的剩余生存时间。
注意:在 Redis 2.8 以前,当 key 不存在,或者 key 没有设置剩余生存时间时,命令都返回 -1 。
127.0.0.1:6379> set keyname "hello world"
OK
127.0.0.1:6379> TTL keyname
(integer) -1
127.0.0.1:6379> expire keyname 60 # 设置60秒过期
(integer) 1
127.0.0.1:6379> TTL keyname # 查询过期剩余时间
(integer) 42
127.0.0.1:6379> persist keyname # 移除 key 的生存时间,设置永不过期
(integer) 1
127.0.0.1:6379> TTL keyname
(integer) -1
127.0.0.1:6379>