[TIL] Redis의 주요 캐싱 전략
by 달쿨캐싱 개념
데이터를 임시 저장소에 저장해 더 빠르게 접근할 수 있도록 하는 기술로 일반적으로 메모리를 사용해 저장되며, 반복적으로 요청되는 데이터를 빠르게 제공해 시스템의 성능을 향상시킨다.
캐싱의 주요 목적
- 성능 개선: 데이터베이스나 원격 서버와의 통신 시간을 줄여 응답 속도를 높인다.
- 비용 절감: 자주 사용되는 데이터에 대한 요청 부하를 줄여 서버 자원을 효율적으로 사용한다.
- 확장성 향상: 서버에 가해지는 부하를 줄여 더 많은 사용자를 처리할 수 있게 만든다.
Redis의 주요 캐싱 전략
Cache Aside
먼저 캐시에 접근하고, 캐시에 데이터가 없을 경우 데이터베이스에서 데이터를 가져와 캐시에 저장하는 방식
사용하기 적합한 경우
- 데이터가 자주 변경되지 않고, 자주 읽히는 경우
- 특정 데이터에 대한 캐시 사용률을 극대화하고 싶을 때
주의할 점: 데이터가 갱신되었을 때 데이터베이스와 캐시 간의 불일치 문제가 생길 수 있다. (데이터가 항상 최신이 아니다.)
Write Through
데이터를 데이터베이스에 저장하면서 동시에 캐시에 업데이트하는 방식
사용하기 적합한 경우
- 데이터의 읽기와 쓰기가 균형을 이루는 경우
- 데이터 일관성을 보장해야 하는 경우
- 데이터베이스 쓰기 비용이 상대적으로 낮은 경우
주의할 점: 쓰기 작업이 많아지면 성능 저하가 발생할 수 있다.
Write Back
데이터를 캐시에 먼저 쓰고, 이후에 비동기로 데이터베이스에 동기화하는 방식
사용하기 적합한 경우
- 데이터 쓰기 작업이 많고, 쓰기 성능이 중요한 경우
- 약간의 데이터 손실이 허용되는 시스템에서 사용 가능(예: 로그 데이터)
주의할 점: 동기화 전에 캐시가 손실될 경우 데이터 유실 위험이 있다.
'TIL' 카테고리의 다른 글
[TIL] 트래픽 (0) | 2024.12.05 |
---|---|
[TIL] 메시지 브로커 (1) | 2024.12.04 |
[TIL] Docker Compose 개념 (0) | 2024.11.29 |
[TIL] Docker 개념 (0) | 2024.11.28 |
[TIL] 배포 서버 시간을 한국 시간으로 설정 (0) | 2024.11.27 |
블로그의 정보
note
달쿨