거인의 코딩일지
[C.S] 캐시(Cache) 란??? 캐시 알고리즘?? 본문
728x90
캐시(Cache) 란???
- 자주사용하는 데이터나 값을 미리 복사 해 놓는 임시 장소
- 저장공간이 작고 비싼 대신 빠른 성능을 제공한다.
캐시를 사용하면 좋은 순간?
- 접근시간에 비해 원래 데이터를 접근하는 시간이 오래걸리는 경우
(서버의 균일한 API 데이터) - 반복적으로 동일한 결과를 돌려주는 경우
(이미지나 썸네일)
Local Cache?? Global Cache??
Local Cache 란???
- Local 장비 내에서만 사용되는 캐시로서 Local 장비의 Resource 를 사용한다.
- Local 에서만 작동하기에 다른 서버와 데이터 공유가 어렵다.
Global Cache 란???
- 여러 서버에서 cache Server에 접근하여 사용하는 캐시로 분산된 서버에서 데이터를 저장하고 조회할 수 있다.
- 네트워크를 통해 데이터를 가져오므로, Local Cache에 비해 상대적으로 느리다.
- 별도의 cache 서버를 이용하기 때문에 서버간의 데이터 공유가 쉽다.
캐시 메모리 교체 알고리즘의 종류
- 캐시 메모리 교체 알고리즘의 종류
- Random
- FIFO
- LFU
- LRU
- Optimal
- NUR
- SCR
- Random
- 교체될 페이지 임의 선정
- 오버헤드가 작음
- FIFO(First In First Out)
- 캐시내부에 오래있었던 페이지 교체
- 자주 사용되는 페이지가 교체될 우려가 있다.
- LFU (Least Frequently Used)
- 사용횟수가 가장 적은 페이지 교체
- 최근 적재된 페이지가 교체될 우려가 있음
- LRU (Least Recently Used)
- 가장 오랫동안 사용되지 않은 페이지 교체
- time stamping 에 의한 오버헤드 존재
- Optimal
- 향후 가장 참조되지 않을 페이지 교체
- 실현 불가능
- NUR (Not Used Recently)
- 참조비트와 수정 비트로 미사용 페이지 교체
- 최근 사용되지 않은 페이지를 교체한다.
- SCR (Second Chance Replacement)
- 최초 참조 비트 1로 세팅, 1인경우 0으로 세팅, 0인경우 교체
- 기회를 한번 더 준다.
728x90
'코딩 > 기초지식' 카테고리의 다른 글
[C.S] SASS?? SCSS? 그 둘의 차이점?? 장단점?? (2) | 2023.10.14 |
---|---|
[C.S] 캐시히트? 캐시미스?? 캐시메모리가 투명하다??? (2) | 2023.10.12 |
[C.S] i18n, l10n, 국제화, 현지화 란??? (0) | 2023.10.09 |
[C.S] Swagger(스웨거) 란?? (0) | 2023.10.06 |
[C.S] 렌더링 방식 종류와 장단점 (0) | 2023.09.26 |