设置 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
参考:
475 total views, 1 views today