expire
EXPIRE seconds
지정된 시간(초) 후 key 자동 삭제
사용법은 expire key seconds 이다.
Example
명령> | set key value |
결과> | 1 |
명령> | expire key 5 |
결과> | 1 |
명령> | ttl key |
결과> | 3 |
명령> | ttl key |
결과> | -2 |
명령> | get key |
결과> | (nil) |
애니메이션 보기
set 명령으로 겹쳐써지면 expire time 제거
expire time 이 설정된 후 같은 key에 set 명령이 수행되면 expire time이 제거되어 지워지지 않는다.
이런 명령은 set, getset 이 있다.
incr, lpush, sadd, zadd, hset 같은 명령은 해당되지 않는다.
Example
명령> | set key value |
결과> | 1 |
명령> | expire key 5 |
결과> | 1 |
명령> | ttl key |
결과> | 3 |
명령> | set key new_value |
결과> | 1 |
명령> | ttl key |
결과> | -1 |
명령> | get key |
결과> | new_value |
애니메이션 보기
rename은 expire time이 제거되지 않음
key name을 바꾸어도 expire time은 제거되지 않는다.
Example
명령> | set key value |
결과> | 1 |
명령> | expire key 5 |
결과> | 1 |
명령> | rename key new_key |
결과> | OK |
명령> | ttl key |
결과> | -2 |
명령> | get key |
결과> | (nil) |
애니메이션 보기
Expire 명령 실행 후 레디스 서버가 다운 되었다면
다운 된 후 expire로 지정한 시간 이후에 서버가 시작되었다면?
서버가 시작될 때 expire time을 check해서 del 명령을 실행한다.
사실, expire 명령을 실행해도 AOF에는 expireat 으로 기록된다.
Example
명령> | set key value |
결과> | 1 |
명령> | expire key 5 |
결과> | 1 |
명령> | shutdown |
명령> | Redis Server Start 10초 후 시작 |
결과> | del key10 자동 실행 |
명령문
EXPIRE key seconds
- 이 명령은 version 1.0.0 부터 사용할 수 있습니다.
- 논리적 처리 소요시간은 O(1) 있습니다.