본문 바로가기

언어(JS,TS)/그룹스터디

그룹스터디 [CS : 캐시(cache)란? 캐시의 일반적인 작동원리]

캐시란?

캐시(cache, 문화어: 캐쉬, 고속완충기, 고속완충기억기)는 컴퓨터 과학에서 데이터나 값을 미리 복사해 놓는 임시 장소를 가리킨다. 캐시는 캐시의 접근 시간에 비해 원래 데이터를 접근하는 시간이 오래 걸리는 경우나 값을 다시 계산하는 시간을 절약하고 싶은 경우에 사용한다. 캐시에 데이터를 미리 복사해 놓으면 계산이나 접근 시간 없이 더 빠른 속도로 데이터에 접근할 수 있다.

-출처: wiki백과

 

캐시 등장 배경

무어의 법칙(Moore's law)에 의해 최근까지 CPU의 처리속도가 급격하게 증가했습니다.

그러나 메모리 접근속도는 함께 늘어나지 못했습니다.

이로 인해 메인메모리에서 데이터를 가져와 CPU에서 아무리 빨리 처리를 해도 다음 연산에 필요한 데이터가 오는 속도가 너무 느리기 때문에 CPU의 성능을 모두 내지 못했습니다.

이러한 부분을 극복하기 위해 폰노이만이 1946년에 필요성을 예견하였고 이후에 cache(캐시)가 등장했습니다.

종류는 DRAM(축전기), SRAM(플립프롭)으로 나뉨니다.

 

캐시는

많은 시간이나 연산이 필요한 작업의 결과를 저장해두는 것을 의미합니다.

컴퓨팅에서 캐시는 일반적으로 일시적인(temporarily) 데이터를 저장하기 위한 목적으로 존재하는 고속의 데이터 저장 공간입니다. 첫 작업 이후에 이 데이터에 대한 요청이 있을 경우, 데이터의 기본 저장 공간에 접근할 때보다 더 빠르게 요청을 처리할 수 있습니다. 캐싱을 사용하면 이전에 검색하거나 계산한 데이터를 효율적으로 재사용할 수 있습니다.

 

캐시의 데이터는 일반적으로 RAM(Random Access Memory)과 같이 빠르게 액세스할 수 있는 하드웨어에 저장되며, 소프트웨어 구성 요소와 함께 사용될 수도 있습니다. 캐시는 기본 스토리지 계층(SSD, HDD)에 액세스하여 데이터를 가져오는 더 느린 작업의 요구를 줄이고, 데이터 검색의 성능을 높입니다.

속도를 위해 용량을 절충하는 캐시는 일반적으로 데이터의 하위 집합을 일시적으로 저장합니다. 완전하고 영구적인 데이터가 있는 데이터베이스와는 대조적입니다.

 

 

웹에서의 캐시

캐시는 자주 쓰이는 문서의 사본을 자동으로 보관하는 HTTP 장치다.
웹 요청이 캐시에 도착했을 때, 캐시된 로컬 사본이 존재한다면,
그 문서는 원서버가 아니라 캐시로부터 제공된다.

장점

  • 불필요한 데이터 전송을 줄여서, 네트워크 요금으로 인한 비용을 줄여준다.
    • 캐시를 이용하면, 첫번째 서버 응답은 캐시에 보관된다.
    • 캐시된 사본이 뒤이은 요청들에 대한 응답으로 사용될 수 있기 때문에, 원서버가 중복해서 트래픽을 주고받는 낭비가 줄어들게된다.
  • 캐시는 네트워크 병목을 줄여준다. 대역폭을 늘리지 않고도 페이지를 빨리 불러올 수 있게 된다.
    • 많은 네트워크가 원격 서버보다 로컬 네트워크 클라에 더 넓은 대역폭을 제공한다.
    • 클라이언트들이 서버에 접근할 때의 속도는, 그 경로에 있는 가장 느린 네트워크의 속도와 같다.
    • 만약 클라이언트가 빠른 LAN에 있는 캐시로부터 사본을 가져온다면, 성능을 개선할 수 있을 것이다.
  • 캐시는 원서버에 대한 요청을 줄여준다. 서버는 부하를 줄일 수 있으며 더 빨리 응답할 수 있게 된다.
    • 갑작스런 요청 쇄도에 대처하기 위해 특히 중요하다.
    • 트래픽 급증은 네트워크와 웹서버의 심각한 장애를 야기시킨다.
  • 캐시는 거리로 인한 지연을 줄여준다. 페이지를 먼 곳에서 불러올수록 시간이 많이 거린다.
    • 대역폭이 문제가 되지 않더라도, 거리가 문제될 수 있다.
    • 기계실 근처에 캐시를 설치하여 문서가 전송되느 거리를 수천 킬로미터에 수십미터로 줄일 수 있다.

예시 : 프록시 서버에서의 캐시

 

 

 

 

++reference

https://feel5ny.github.io/2019/09/30/HTTP_007-1/

 

캐시의 개념과 장점

캐시는 자주 쓰이는 문서의 사본을 자동으로 보관하는 HTTP 장치다.웹 요청이 캐시에 도착했을 때, 캐시된 로컬 사본이 존재한다면,그 문서는 원서버가 아니라 캐시로부터 제공된다. 불필요한 데

feel5ny.github.io

https://ko.wikipedia.org/wiki/%EC%BA%90%EC%8B%9C

 

캐시 - 위키백과, 우리 모두의 백과사전

동적 CPU 메모리 캐시 그림 캐시(cache, 문화어: 캐쉬, 고속완충기, 고속완충기억기)는 컴퓨터 과학에서 데이터나 값을 미리 복사해 놓는 임시 장소를 가리킨다. 캐시는 캐시의 접근 시간에 비해 원

ko.wikipedia.org