오늘은 캐싱이 무엇인지에 대해 공부하고 캐싱과 캐싱전략에 대해 정리해볼 예정이다.
현재 DeliDeli프로젝트에서 매장검색할 때 캐싱을 적용시켰다.
매장리스트를 빠르게 불러오기 위해서이다.
자주 액세스하는 데이터의 성능을 향상시키는 데 사용되는 더 빠르고 더 비싼 소량의 메모리
즉, 컴퓨터 성능을 향상시키기 위해 사용되는 메모리이다
디스크에서 불러오는 것이 속도가 느리기때문에 메모리에서 빨리 가져와서 시간을 줄여주는 것이다
어떨 때 사용하는 것이 좋을까?
캐싱전략은 애플리케이션에서 데이터를 읽고 쓰는 방법에 따라 달라질 수 있다.
알아볼 캐싱전략은 다섯가지이다.
캐시를 먼저 확인한 후에, 캐시에 데이터가 있으면 해당 데이터를 읽어오는 방법이다
만약, 존재하지 않으면 데이터를 DB에서 가져온 후에 캐시에 저장한다
데이터를 읽을 때 캐시로만 데이터를 읽어오는 방법이다.
만약 데이터가 캐시에 없을 때 DB에서 데이터를 캐시로 저장한다.
Look aside같은 경우는 애플리케이션이 직접 DB에 데이터를 조회하는데, Read-through는 캐시가 DB에 데이터를 직접 조회하고 로드하는 방식이다.
DB에 저장하고 읽은 데이터만 캐시에 저장하는 방식
모든 데이터가 일단 DB에 저장된다.
그 후에 캐시에 없어서 캐시미스가 일어날 때만 캐시로 데이터를 끌고오는 방법이다.
데이터를 먼저 캐시에 저장한 후 DB에 저장하는 방식
모든 쓰기 작업이 캐시로 전달되고 일정시간에 DB에 데이터가 저장되는 방식
참고자료
https://aws.amazon.com/ko/caching/
https://codeahoy.com/2017/08/11/caching-strategies-and-how-to-choose-the-right-one/ https://www.techtarget.com/searchstorage/definition/cache
https://azure.microsoft.com/ko-kr/resources/cloud-computing-dictionary/what-is-caching/#how-does-caching-work