Redis 可以使用命令 `EXPIRE` 和 `TTL`,能让一个键值对只存在于指定的时间段内。
~~~
SET resource:lock "Redis Demo"
EXPIRE resource:lock 120
~~~
这会导致键 resource:lock 会在120s 后被删除,你可以使用 `TTL` 去查看一个键还能存 在多少时间:
~~~
TTL resource:lock # => 120
# after 122s later
TTL resource:lock # => -2
~~~
这里的 -2 是指 resource:lock 已经不存在了,如果返回值是 -1 说明这个键永远不会过 期。注意:当你使用 `SET` 重新设置一个键, 它对应的 `TTL` 就会被重置。
~~~
SET resource:lock "Redis demo 1"
EXPIRE resource:lock 120
TTL resource:lock # => 119
SET resoource.lock "Redis demo 2"
TTL resource:lock # => -1
~~~