TIL: Cache 이모저모
Cache 이모저모
Cache
자주 이용하는 데이터나 값을 미리 복사해놓는 임시 장소! 일반 메모리/DB 등에는 저장을 많이 할 수 있지만 속도가 느리다. 캐시에 데이터를 불러와놓고 필요한 데이터를 찾을때 캐시에서 먼저 찾게 하면 성능을 향상 시킬 수 있다.
Cache Hit & Cache Miss
참조하고자 하는 메모리가 Cache에 있을경우 Cache Hit, 존재하지 않을때 Cache Miss라 한다. Cache Hit Ratio는 Cache Hit의 값을 Cache Hit과 Cache Miss의 합으로 나눈값으로 계산된다.
Cache 구조 - Look Aside Cache (일반적)
- 웹서버는 데이터가 존재하는지 캐시에 확인
- 캐시에 데이터가 있으면 캐시에서 가져온다
- 캐시에 데이터가 없으면 DB에서 가져오고, DB에서 가져온 데이터를 Cache에 저장한다.
Cache 구조 - Write Back
- 웹서버는 모든 데이터를 Cache에 저장
- 특정 시점/크기마다 Cache에 있는 데이터를 DB에 저장
- DB에 저장되면 Cache를 비움
Write Back의 경우에는 장애가 생기면 데이터가 사라진다는 이슈가 있지만, 재생가능한 데이터를 사용하고 극단적으로 heavy한 write를 쓸때 사용한다. DB에 접근을 줄일 수 있기에 퍼포먼스를 증진시킬 수 있다.
Write Through도 있는데, 이건 캐시가 되면서 동시에 DB에 작성하는거다. 로스는 줄이지만 성능 떨어짐.