Skip to content

TTL - 데이터의 유통기한 ​

TTL (Time To Live) = 키에 만료 시간을 설정하는 기능.

  • EXPIRE user:2 3 → user:2는 지금부터 3초 후 만료 예약 (힙에 (만료시각, 키) push)
  • 키 조회 시점에 먼저 만료 여부 검사: time.time() >= expire_at이면 삭제 후 없는 키처럼 처리
  • 힙에 쌓인 오래된 항목은 나중에 pop될 때 "이미 삭제된 키면 무시"하는 방식(lazy deletion)으로 처리 가능

TTL 코드 반환값 규칙 (헷갈리기 쉬움):

상황반환
키 없음(integer) -2
키 있는데 만료 설정 없음(integer) -1
남은 초(integer) N

출처: Codyssey-B1/B5-1