기본 콘텐츠로 건너뛰기

라벨이 ttl인 게시물 표시

Redis TTL 설정 완벽 정리: EXPIRE부터 SET EX, PERSIST까지

  Redis를 캐시로 사용하다 보면 반드시 만나게 되는 개념이  TTL(Time To Live)  입니다. TTL은 Redis에 저장된 Key가  얼마 동안 유지될지 지정하는 만료 시간 입니다. 캐시 데이터, 인증 코드, 세션, 임시 데이터처럼 일정 시간이 지나면 자동으로 삭제되어야 하는 데이터에 특히 유용합니다. 이번 글에서는 Redis에서 TTL을 설정하고 확인하는 방법부터 실무에서 주의해야 할 부분까지 정리해보겠습니다. 1. Redis TTL이란? Redis의 TTL(Time To Live)은 특정 Key가 만료되기까지 남은 시간을 의미합니다. 예를 들어 다음과 같은 데이터가 있다고 가정해보겠습니다. SET user:1001 "Alice" 별도의 만료 시간을 설정하지 않았다면 이 Key는 직접 삭제하기 전까지 계속 유지됩니다. 하지만 캐시 데이터라면 일정 시간이 지난 후 자동으로 제거하고 싶을 수 있습니다. 이때  EXPIRE  명령어를 사용할 수 있습니다. EXPIRE user:1001 60 위 명령은  user:1001  Key를  60초 후 만료 하도록 설정합니다. 2. TTL 확인하기 Key의 남은 만료 시간은  TTL  명령어로 확인할 수 있습니다. TTL user:1001 예를 들어 결과가 다음과 같다면, (integer) 42 해당 Key는 약 42초 후 만료된다는 의미입니다. TTL의 특수 반환값 TTL을 확인할 때는  -1 ,  -2  값을 알아두는 것이 좋습니다. TTL key 결과의 의미는 다음과 같습니다. 반환값 의미 양수 Key가 만료되기까지 남은 시간(초) -1 Key는 존재하지만 만료 시간이 설정되지 않음 -2 Key가 존재하지 않음 예를 들어, SET test "hello" TTL test 만료 시간을 설정하지 않았기 때문에 결과는 다음과 같습니다. (integer) -1 3. SET과 동시에 TTL 설...