본문 바로가기

CS 지식

캐시(Cache) 간단히 설명

728x90

1. memory

출처: https://www.youtube.com/watch?v=jXLeXgIWNbQ

컴퓨터 안에는 CPU, MEMORY, DISK로 구성. DISK는 file들이 저장하고, cpu는 file들을 실행한다. file에 저장된 일부분이 memory에 올라오며 memory에 있는 데이터 중 일부가 cpu에 의해 명령어가 실행된다.

 

CPU안에 cache라는 고속 메모리가 있다. 왜 이게 나왔냐? 메모리보다 더 빠르게 처리하기 위해서. 미리 데이터의 일부를 cpu 메모리에 탑재. 그러면 cpu에서 엄청 빠르게 실행된다.

 

캐시는 메모리 데이터의 일부를 미리 가져왔다가 또는 사용되고 있는 자체 데이터를 가져왔다 한다. 이때 cpu는 캐시 메모리를 사용함으로써 매우 빠르다.

 

2. file

출처: https://www.youtube.com/watch?v=jXLeXgIWNbQ

img라는 것은 크기도 txt보다 크고, 다시 불러올 가능성이 있어서. 브라우저가 구동되는 directory에 이미지들을 저장(temporary) 할 수 있다. 이걸 캐시되어 있다라고도 말한다.

 

목적은 다시 웹 서버로 부터 접속해서 가져오는 시간 또는 데이터 통신을 효율적으로 하기 위해서, 한 번 다녀온 웹사이트들의 이미지를 특정 기간 동안 어떤 기준에 따라서 저장한다.

 

그러면 다시 접속했을 때 동일한 이미지라면 굉장히 빠른 속도로 로딩을 할 수 있다. 이것의 단점은 이미지를 서버에서 바꿨는데 그걸 브라우저를 다시 띄울 때, 바꿀 수 있는 주기가 아니라면 예전 이미지로 보여줄 가능성이 있다. 그 때 해결방안으로 캐시를 지워봐라는 소리가 나오는 것. 캐시가 지워지면 새로 local에 접속해서 이미지를 가져오는데 이러면 cache에 새로운 이미지가 쌓인다.

 

3. CDN

출처: https://www.youtube.com/watch?v=jXLeXgIWNbQ

정확히 말하자면 CDN은 캐시라고 부를 수 있는 게 아닌데 캐시와 유사해서 설명해본다.

 

페이지 url 안에는 수많은 태그들이 있다. 태그들을 가져오고 보내는 게 자주 있다. 서버가 미국이나 유럽 등 해외에 있거나, 외국사람들이 우리나라 서비스를 그냥 이용하면 속도가 느려지기에. 웹 서버가 그 지역에 있지만, CDN은 중간 loal 서버에 미리 저장을 해둔다.

 

CDN은 웹 서버라기보다는 아시아용, 유럽용, 미국용 이런식으로 나눠지며. 그 지역하고 굉장히 가까운 망 내에 서버의 파일들이 있으면 해당하는 나라에 접속하면 굉장히 빠른 속도로 응답한다. 이 파일들을 캐시되어 있다고 표현할 수 있다.

728x90