redis将一个key设置为永不过期

 

这次介绍三个 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>

 

上一篇:redis的list命令总结


下一篇:面试官:Redis的事务满足原子性吗?