💡 개요
오늘은 Redis에서 키가 삭제되는 원리에 대해 정리해 보자.
🛠️ Redis 키 삭제 원리
Redis의 키 삭제 방법은 크게 Lazy Expiration (지연 만료)와 Active Expiration (적극 만료)가 있다.
⚙️ Lazy Expiration (지연 만료)
지연 만료란, 클라이언트가 키에 접근할 때, 해당 키가 만료되었으면 그때 삭제하는 것이다.
그렇기 때문에 따로 삭제하는 작업을 수행할 필요가 없다.
⚙️ Active Expiration (즉시 만료)
Redis 서버는 초당 10번(기본 값) expire cycle을 실행한다.
각 사이클 과정은 다음과 같다.
- TTL이 설정된 키 공간에서 임의의 키 20개를 조사한다.
- 만료된 키들을 삭제한다.
- 만약 삭제된 키가 25% 이상이라면 반복해서 검사한다.
이를 통해 Redis에 저장된 모든 키를 순회하는 것이 아니라 확률적 방식으로 키 만료를 진행한다.
👨🏻💻 참고
'개발 일기' 카테고리의 다른 글
[개발 일기] 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 |