Zettelkasten

5가지 캐시 전략 - aside, read-through, write around, write through, writeback

·수정 2026.04.23·수정 1

1. Cache Aside Strategy

  • 캐시가 데이터 베이스 옆에 있음
  • 요청이 오면 캐시를 체크함
    • 히트하면 캐시 반환
  • 미스했다면 DB에서 가져옴
  • 미래의 요청을 위해 잃어버린 데이터를 갖고 있음

장점: heavy workload에 좋음, 단점: cache와 db 사이에 일관성 깨질 수 있음

2. Read Through

  • 캐시가 DB 또는 로더를 읽어서 대신 캐시를 채움
    • cache aside와의 차이는 "miss" 처리를 캐시 계층
  • 어플리케이션과 db 사이에 cache가 위치
  • 모든 읽기 요청에 대해 캐시에서 가져옴
  • 캐시가 히트하면, 데이터가 반환
  • 미스되면 캐시가 없는 데이터를 가져옴 장점: 어플리케이션이 데이터를 가져오는 쪽을 걱정하지 않아도 됨 단점: 캐시와 db사이의 비 일관성

3. Write Around Strategy

  • 이 전략에서는 모든 쓰기가 db로 가고 데이터는 캐시에서 읽음
  • cache aside와 동일하지만, write operation에 대한 context가 더해짐
  • 캐시가 미스뜨면 db로 부터 읽고 cache를 업데이트함
  • 한번 쓰고 거의 업데이트 되지 않는 경우에 유리
    • 정적페이지
  • 모든 쓰기가 db로 가고 읽을 때는 cache에서 읽는데 miss 뜨면 db에서 가져옴

4. Write Through Strategy

  • DB에 쓰는 대신 cache에 쓰고 cache는 바로 DB에 쓰기 요청 장점: cache는 항상 모든 쓰여진 데이터를 갖고 있음, 읽기 요청은 딜레이되지 않음
  • db에 넘어갈때 latency 존재

5. Write Back Strategy

  • 어플리케이션은 바로 cache에 작성함 하지만 바로 db에 업데이트 하지 않음
  • 캐시의 부담이 감소함, 읽기가 활발하게 있다면
  • 캐시 실패시 데이터 로스의 확률이 있음

이 문서를 참조하는 노트 (1)