Notice
Recent Posts
Recent Comments
Link
250x250
«   2025/02   »
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
Tags
more
Archives
Today
Total
관리 메뉴

거인의 코딩일지

[C.S] 캐시(Cache) 란??? 캐시 알고리즘?? 본문

코딩/기초지식

[C.S] 캐시(Cache) 란??? 캐시 알고리즘??

코딩거인 2023. 10. 11. 08:40
728x90
캐시(Cache) 란???
  • 자주사용하는 데이터나 값을 미리 복사 해 놓는 임시 장소
  • 저장공간이 작고 비싼 대신 빠른 성능을 제공한다.
캐시를 사용하면 좋은 순간?
  1. 접근시간에 비해 원래 데이터를 접근하는 시간이 오래걸리는 경우
    (서버의 균일한 API 데이터)
  2. 반복적으로 동일한 결과를 돌려주는 경우
    (이미지나 썸네일)

 

Local Cache?? Global Cache??
Local Cache 란???
  • Local 장비 내에서만 사용되는 캐시로서 Local 장비의 Resource 를 사용한다.
  • Local 에서만 작동하기에 다른 서버와 데이터 공유가 어렵다.
Global Cache 란???
  • 여러 서버에서 cache Server에 접근하여 사용하는 캐시로 분산된 서버에서 데이터를 저장하고 조회할 수 있다.
  • 네트워크를 통해 데이터를 가져오므로, Local Cache에 비해 상대적으로 느리다.
  • 별도의 cache 서버를 이용하기 때문에 서버간의 데이터 공유가 쉽다.

캐시 메모리 교체 알고리즘의 종류
  • 캐시 메모리 교체 알고리즘의 종류
    1. Random
    2. FIFO
    3. LFU
    4. LRU
    5. Optimal
    6. NUR
    7. SCR
  1. Random
    • 교체될 페이지 임의 선정
    • 오버헤드가 작음
  2. FIFO(First In First Out)
    • 캐시내부에 오래있었던 페이지 교체
    • 자주 사용되는 페이지가 교체될 우려가 있다.
  3. LFU (Least Frequently Used)
    • 사용횟수가 가장 적은 페이지 교체
    • 최근 적재된 페이지가 교체될 우려가 있음
  4. LRU (Least Recently Used)
    • 가장 오랫동안 사용되지 않은 페이지 교체
    • time stamping 에 의한 오버헤드 존재
  5. Optimal
    • 향후 가장 참조되지 않을 페이지 교체
    • 실현 불가능
  6. NUR (Not Used Recently)
    • 참조비트와 수정 비트로 미사용 페이지 교체
    • 최근 사용되지 않은 페이지를 교체한다.
  7. SCR (Second Chance Replacement)
    • 최초 참조 비트 1로 세팅, 1인경우 0으로 세팅, 0인경우 교체
    • 기회를 한번 더 준다.
728x90