인프라

Cache 전략

까루카라 2024. 7. 25. 18:59

Cache 전략 패턴

읽기 전략

Look Aside

직역하자면 옆을 보다 → 캐시에 없을 때, DB를 보고 읽어오는 것.

  • 동기화가 되지 않기 때문에 정합성 유지가 어려움
  • 첫 조회 시 DB 과부하가 발생한다. (항상 DB를 조회해야 하기 때문)

Read Through

 

직역하자면, ~을 통해 읽다. → 항상 캐시를 통해서 읽는 것.

  • 캐시와 DB의 연결점이 있기 때문에 항상 정합성이 유지된다.
  • 단점으로는 캐시가 죽으면 전체 문제 발생(SPOF)

쓰기 전략

Write Around

  • 우회해서 쓰다 → 캐시를 우회해서 직접 쓰다.
  • 읽기랑 조합했을 때, 캐시 미스가 발생하면 CacheStore에도 씀
  • 성능이 좋다.
  • 불필요한 Data를 저장하지 않음
  • 단점은 캐시 디비에 연결점이 없기 때문에 정합성 문제

Write Back

  • 나중에 쓰다.
  • 캐시에 미리 써놓고 나중에 한번에 업데이트
  • batch 작업을 추가하는 것.
  • 단점은 캐시 스토어에서 캐시 죽으면 데이터 유실 발생

Write Through

  • 항상 캐시를 통해서 쓰다.
  • 정합성은 굳, but 쓰기 항상 두번해야 하므로 성능문제