[개발 일기] 2025.05.11 - Redis 만료 원리

2025. 5. 11. 16:23·개발 일기

💡 개요

 

오늘은 Redis에서 키가 삭제되는 원리에 대해 정리해 보자.

 

 

 

🛠️ Redis 키 삭제 원리

 

Redis의 키 삭제 방법은 크게 Lazy Expiration (지연 만료)와 Active Expiration (적극 만료)가 있다.

 

 

⚙️ Lazy Expiration (지연 만료)

 

지연 만료란, 클라이언트가 키에 접근할 때, 해당 키가 만료되었으면 그때 삭제하는 것이다.

 

 

그렇기 때문에 따로 삭제하는 작업을 수행할 필요가 없다.

 

 

 

⚙️ Active Expiration (즉시 만료)

 

Redis 서버는 초당 10번(기본 값) expire cycle을 실행한다.

 

 

각 사이클 과정은 다음과 같다.

 

  1. TTL이 설정된 키 공간에서 임의의 키 20개를 조사한다.
  2. 만료된 키들을 삭제한다.
  3. 만약 삭제된 키가 25% 이상이라면 반복해서 검사한다.

 

이를 통해 Redis에 저장된 모든 키를 순회하는 것이 아니라 확률적 방식으로 키 만료를 진행한다.

 

 

 

👨🏻‍💻 참고

 

EXPIRE

'개발 일기' 카테고리의 다른 글

[개발 일기] 2025.05.13 - 자바 Optional 정리  (0) 2025.05.13
[개발 일기] 2025.05.12 - 분산 저장 (파티셔닝, 샤딩)  (0) 2025.05.12
[개발 일기] 2025.05.10 - Bulk을 사용한 저장이 하나씩 저장하는 것 보다 빠른 이유  (0) 2025.05.10
[개발 일기] 2025.05.09 - MIME  (0) 2025.05.09
[개발 일기] 2025.05.08 - 레코드 수준의 잠금(row-level locking)  (0) 2025.05.08
'개발 일기' 카테고리의 다른 글
  • [개발 일기] 2025.05.13 - 자바 Optional 정리
  • [개발 일기] 2025.05.12 - 분산 저장 (파티셔닝, 샤딩)
  • [개발 일기] 2025.05.10 - Bulk을 사용한 저장이 하나씩 저장하는 것 보다 빠른 이유
  • [개발 일기] 2025.05.09 - MIME
오도형석
오도형석
  • 오도형석
    형석이의 성장일기
    오도형석
  • 전체
    오늘
    어제
    • 분류 전체보기 N
      • MSA 모니터링 서비스
        • DB
      • 스파르타 코딩클럽
        • SQL
        • Spring
      • 백엔드
        • Internet
        • Java
        • DB
      • 캡스톤
        • Django
        • 자연어처리
      • Spring
        • JPA
        • MSA
      • ETC
        • ERROR
      • 개발 일기 N
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 인기 글

  • 태그

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
오도형석
[개발 일기] 2025.05.11 - Redis 만료 원리
상단으로

티스토리툴바