EXPIRE seconds

레디스 개발자 교육 신청 레디스 정기점검/기술지원
Redis Technical Support
레디스 엔터프라이즈 서버
Redis Enterprise Server

지정된 시간(초) 후 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   자동 실행  

멤버(member) 자동 삭제 기능

엔터프라이즈 버전에서는 멤버 자동 삭제 기능을 제공합니다. 예를 들어, 장바구니 상품을 일정 기간 지나면 자동 삭제하고자 한다면, (장바구니를 Set으로 구성했다면)
장바구니에 상품 넣기: SADD mybasket goods-id
상품 자동 삭제 설정: EXPIRE mybasket goods-id <seconds>
대상 데이터타입: SET, ZSET, HASH

Example

명령>expire mybasket goods-id 10
결과>1

여러 개 멤버를 한 번에 설정할 수 있습니다.

Example

명령>expire mybasket goods-id1 goods-id2 goods-id3 10
결과>3
멤버(member) 자동 삭제 기능은 Enterprise 서버에서 사용 가능합니다.


명령문

EXPIRE key [member ...] seconds

  • 이 명령은 version 1.0.0 부터 사용할 수 있습니다.
  • Member expire 기능은 Enterprise version에서 사용할 수 있습니다.
  • 논리적 처리 소요시간은 O(1) 있습니다.
관련 명령 SETEX, TTL, PERSIST, PSETEX, EXPIREAT, PEXPIRE, PEXPIREAT, PTTL
Clients for Java Jedis, Lettuce, Redisson
Clients for C Hiredis

<< RENAMENX EXPIRE EXPIREAT >>

Email 답글이 올라오면 이메일로 알려드리겠습니다.