본문 바로가기
프로그래밍/데이터베이스

레디스(Redis) TTL 설정하기

by bantomak 2024. 4. 23.

레디스의 TTL(Time To Live) 특성

  • 지정된 시간이 지나면 자동으로 키가 삭제된다.
  • 만료 시간을 설정하지 않으면 사용자가 명시적으로 삭제하지 않는 한 영원히 저장된다.
  • 현재 컴퓨터 시간을 기반으로 TTL이 동작하기 때문에 만료 시간을 1000초로 설정해 놓고 현재 컴퓨터 시간을 2000초로 바꾸면 즉시 만료된다. 현재 컴퓨터 시간을 기반으로 TTL이 동작하기에, 레디스 인스턴스가 켜져 있지 않더라도 시간이 카운팅 된다.

 

명령어로 TTL 설정하기

set [key] [value]

 

키-값 추가하기

 

expire [key] [seconds]

 

만료될 시간 추가하기

 

expire [key] [seconds from Unix start point]

 

만료될 시간 추가하기 (Unix timestamp를 기준으로 작성)

 

ttl [key]

 

남은 시간 확인하기

 

pttl [key]

 

남은 millisecond 확인하기

 

콘솔에서 실제로 TTL 지정해 보자

해당 명령어를 사용해서 TTL을 실제로 적용해보자.

 

temp라는 key를 지정

 

10초 뒤에 만료되도록 설정

 

key가 삭제되었으면 -2를 리턴, expire time이 설정되지 않았다면 -1을 리턴

 

key가 삭제되었음을 확인

함께 읽으면 좋은 글

 

도커(Docker)로 레디스(redis) 실행하기

항상 동일한 환경으로 레디스 실행하기 메모리에 상주하는 레디스(Redis)는 인메모리 방식으로 다른 RDS와 다르게 엄청난 속도를 보장한다. 이런 레디스를 항상 동일한 환경으로 배포해보자. 도커

jettstream.tistory.com

참고 사이트

 

Redis는 어떻게 TTL을 지원할까?

Redis는 특정 시간 동안만 데이터가 저장되는 TTL(Time To Live) 기능을 'expire'라는 명칭으로 제공한다. JWT refresh token을 저장할 때 처럼 일정한 시간 동안만 데이터를 저장해야 하는 경우에 해당 기능

velog.io

댓글