Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
Tags
- 선택정렬
- Timsort
- 거품정렬
- 백준
- 코테준비
- 코테
- 코딩테스트
- 자료구조
- MSA
- heap
- 트라이
- 스택
- 프로그래머스
- 이진트리탐색
- 분할정복
- 스터디
- 퀵정렬
- 15552번
- 우선순위 큐
- collections.sort
- 해시함수
- divide and conquer
- LinkedList
- 파싱
- 힙
- 삽입정렬
- stack
- 팀정렬
- 연결리스트
- 큐
Archives
- Today
- Total
Little bIT awesome
Cache 전략 본문
Cache 전략 패턴
읽기 전략
Look Aside
직역하자면 옆을 보다 → 캐시에 없을 때, DB를 보고 읽어오는 것.
- 동기화가 되지 않기 때문에 정합성 유지가 어려움
- 첫 조회 시 DB 과부하가 발생한다. (항상 DB를 조회해야 하기 때문)
Read Through
직역하자면, ~을 통해 읽다. → 항상 캐시를 통해서 읽는 것.
- 캐시와 DB의 연결점이 있기 때문에 항상 정합성이 유지된다.
- 단점으로는 캐시가 죽으면 전체 문제 발생(SPOF)
쓰기 전략
Write Around
- 우회해서 쓰다 → 캐시를 우회해서 직접 쓰다.
- 읽기랑 조합했을 때, 캐시 미스가 발생하면 CacheStore에도 씀
- 성능이 좋다.
- 불필요한 Data를 저장하지 않음
- 단점은 캐시 디비에 연결점이 없기 때문에 정합성 문제
Write Back
- 나중에 쓰다.
- 캐시에 미리 써놓고 나중에 한번에 업데이트
- batch 작업을 추가하는 것.
- 단점은 캐시 스토어에서 캐시 죽으면 데이터 유실 발생
Write Through
- 항상 캐시를 통해서 쓰다.
- 정합성은 굳, but 쓰기 항상 두번해야 하므로 성능문제