### Look Aside

- Cache Aside라고도 불린다.
- 캐시가 있으면 사용하고, 없으면 db에서 가져와서 캐싱하고 사용한다.
- read가 많은 경우 적합하다.
- cache와 db 사이에 정합성 유지 문제가 발생할 수 있다.
### Write back

- Write Behind라고도 불린다.
- 무조건 캐시에 저장하고, 일정 시간마다 캐시에 있는 데이터를 db에 저장한다.
- write가 많은 경우에 사용하면 데이터베이스에 대한 부하를 줄일 수 있다.
- 자주 사용하지 않는 데이터도 불필요하게 캐시에 저장한다.
- 캐시에 오류가 발생하면 데이터가 영구적으로 손실될 수 있다.
### Read Through

- 캐시가 있으면 사용하고, 없으면 db에서 조회하고 db가 캐시를 직접 업데이트한다.
- Look Aside와 유사하지만 Look Aside는 애플리케이션이 캐시를 저장하고, Read Through는 db가 저장한다.
### Write Through

- Write Behind라고도 불린다.
- 캐시를 통해 db에 데이터를 저장한다.
- Write Back과 비슷하지만 대기시간 없이 즉시 db에 저장한다.
- 항상 동기화가 되어 있고 데이터가 유실되지 않는다.
- write를 할 때 항상 2단계를 거치기 때문에 느려진다.
## 참고
- https://velog.io/@hwaya2828/Redis-%EC%BA%90%EC%8B%9C-%EC%A0%84%EB%9E%B5
#cache #db