쓰기 전략
쓰기 전략은 데이터 최신성과 쓰기 지연 시간 사이 적절한 선택이 필요

Write-Back

어플리케션이 캐시에만 데이터를 씀, 이후 후처리를 통해 DB에 갱신
구조상 레디스가 중간에 다운되면 데이터는 소실됨을 염두해야 한다.
성능 지향
흐름
- 어플리케이션에서 레디스로 데이터 갱신
- 응답 반환
- 후처리로 DB에 갱신(방법은 여러개)
특징
- 압도적인 쓰기 지연 시간(메모리 단에서 동작, DB I/O를 기다리지 않음)
- DB 부하 감소
- 데이터 유실 가능
Write-Around
DB에만 저장, 향후 조회 시 캐시 미스 발생으로 알아서 채워지도록 함
캐시 효율성 지향
흐름
- 어플리케이션이 DB에만 저장
- 캐시에 해당 데이터 제거
- 읽기 요청이 발생하면 캐시 미스로 레디스에 적재
특징
- 데이터가 항상 최신(단일 원천)
- 읽지 않는 데이터를 캐싱하지 않음
- 저장한 데이터는 반드시 캐시 미스 발생
Write-Through

애플리케이션이 캐시와 데이터베이스(DB)를 동시에(동기적으로) 업데이트
데이터 일관성 지향
흐름
- 어플리케이션이 캐시와 DB에 동시에 저장
- 두 저장소 성공 시 최종 성공
특징
- 데이터 정합성
- 빠른 읽기
- DB I/O 속도에 레디스 속도 쓰기 속도가 사실상 동기화 됨
- 자주 쓰지 않는 데이터까지 캐
'개발' 카테고리의 다른 글
| 요즘 개발자를 위한 시스템 설계 수업 - 3장 분산 시스템의 이론과 데이터 구조 1 (1) | 2026.02.27 |
|---|---|
| 요즘 개발자를 위한 시스템 설계 수업 - 2장 분산 시스템의 속성 (1) | 2026.02.23 |
| 요즘 개발자를 위한 시스템 설계 수업 - 1장 시스템 설계의 기본 (0) | 2026.02.20 |
| 레디스 - 읽기 전략 (0) | 2026.02.08 |
| 레디스(Redis) (0) | 2026.01.22 |