### Look Aside ![](https://blog.kakaocdn.net/dn/cLo6n6/btq5fUBCHDo/PGPKpvEaURM2W0GmL5FRPk/img.png) - Cache Aside라고도 불린다. - 캐시가 있으면 사용하고, 없으면 db에서 가져와서 캐싱하고 사용한다. - read가 많은 경우 적합하다. - cache와 db 사이에 정합성 유지 문제가 발생할 수 있다. ### Write back ![](https://blog.kakaocdn.net/dn/N5oC3/btq5hjOeV4A/ZXlvv252ROJ6TYuw72qdl1/img.png) - Write Behind라고도 불린다. - 무조건 캐시에 저장하고, 일정 시간마다 캐시에 있는 데이터를 db에 저장한다. - write가 많은 경우에 사용하면 데이터베이스에 대한 부하를 줄일 수 있다. - 자주 사용하지 않는 데이터도 불필요하게 캐시에 저장한다. - 캐시에 오류가 발생하면 데이터가 영구적으로 손실될 수 있다. ### Read Through ![](https://blog.kakaocdn.net/dn/ciHyTw/btq5tFEu1Ft/hO4ZTd4sm0mpMVkDkB6aX0/img.png) - 캐시가 있으면 사용하고, 없으면 db에서 조회하고 db가 캐시를 직접 업데이트한다. - Look Aside와 유사하지만 Look Aside는 애플리케이션이 캐시를 저장하고, Read Through는 db가 저장한다. ### Write Through ![](https://blog.kakaocdn.net/dn/Tlmg1/btq5APyT6Ef/CotdCanF3AKQZ6vNMnsda1/img.png) - 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