- Lazy Loading
- Write-Through
- TTL
read
와 write
를 경험할 수 있다.클라이언트에게 데이터 요청이 들어올 때, Cache에 로딩한다.
DB나 API에 접근하기 전, Cache에 접근하여 원하는 데이터가 존재할 경우 Cache 데이터를 활용한다.
없으면, DB나 API에 접근하여 데이터를 가져와 Cache에 올린다.
Cache에 존재하지 않는 데이터를 읽으려 할 때, 3개의 패널티가 쥐어진다.
- 캐시에 확인 요청
- 데이터베이스 확인 요청
- 데이터베이스에서 가져온 데이터를 캐시에 저장
캐시 미스 발생시, 캐시에 데이터를 쓴다. 이는, 캐시의 데이터가 최신의 상태를 유지 못할 수도 있음을 의미한다.
데이터를 추가하거나 수정할 때, Cache와 DB 모두 동시에 업데이트 된다.
읽을 때는 아래와 같이 수행된다.
Lazy Loading
=> 자연스럽게 값이 삭제되어 캐시 미스가 발생하고 최신의 값을 유지할 수 있다.Write-Through
=> 업데이트가 되지 않은 데이터를 자동 삭제하여 메모리 이득을 볼 수 있다.참고 : 사라바라는 차곡차곡 님의 블로그