Redis Expire

设置 Redis 过期时间的时候经常会忽视的一个问题:

使用 del, set, getset 等命令会清掉已经设置的过期时间。

127.0.0.1:6379> set key 1
OK
127.0.0.1:6379> expire key 3600
(integer) 1
127.0.0.1:6379> ttl key
(integer) 3595
127.0.0.1:6379> set key 2
OK
127.0.0.1:6379> ttl key
(integer) -1

使用 incr, lpush, hset 等命令则会保留已经设置的过期时间。

127.0.0.1:6379> set key 1
OK
127.0.0.1:6379> expire key 3600
(integer) 1
127.0.0.1:6379> ttl key
(integer) 3596
127.0.0.1:6379> incr key
(integer) 2
127.0.0.1:6379> ttl key
(integer) 3582

参考:

https://redis.io/commands/expire

 429 total views,  2 views today