expire命令
1、expire key seconds,其中seconds表示键过期的时间,单位是秒, 返回值1表示成功, 0表示设置失败或者键不存在
127.0.0.1:6379> set foo bar
OK
127.0.0.1:6379> expire foo 20
ttl命令,一个键还有多少时间会被删除,返回的是键的剩余时间, 当键不存在就会返回-2, 当键没有设置过期时间(即永久存在)的情况下,返回的是-1
127.0.0.1:6379> set foo bar
OK
127.0.0.1:6379> expire foo 20
(integer) 1
127.0.0.1:6379> ttl foo
(integer) 18
127.0.0.1:6379> ttl foo
(integer) 13
127.0.0.1:6379> ttl foo
(integer) -2
127.0.0.1:6379> get foo
(nil)
expire命令seconds参数必须是整数,所以最小单位是1秒,如果想要精确的控制键的过期时间应该使用pexpire命令,对应的也可以用pttl命令返回以毫秒为单位的返回键的剩余过期时间。
使用watch命令监测一个拥有过期时间的键,键到期自动删除,不会被watch命令认为该键被改变
persist取消键的过期时间设置(即将键恢复到永久的),除此之外set或getset命令键赋值也会清除键的过期时间设置
127.0.0.1:6379> set foo bar
OK
127.0.0.1:6379> expire foo 20
(integer) 1
127.0.0.1:6379> persist foo
(integer) 1
127.0.0.1:6379> ttl foo
(integer) -1