캐시란?
자주 사용하는 데이터나 값을 미리 복사해 놓는 임시 장소를 가리킨다.
캐시의 장점
캐시에 데이터를 미리 복사해 놓으면, 계산이나 접근 시간을 줄여 빠른 속도로 데이터에 접근이 가능하다.
즉, 데이터에 접근하는 시간이 오래 걸릴 경우나 값을 계산하는 시간을 절약하고자 하는 경우에 사용한다.
캐시의 단점
캐시는 비싸다는 점이 단점으로 꼽을 수 있다.
메모리의 저장공간은 속도가 빠를 수록 용량이 작고 가격이 높은편이다.
어떤 부분에서 캐시를 활용하는지?
캐시 메모리
컴퓨터 안에는 크게 cpu - memory - disk 로 구성되어 있다고 말할 수 있다.
disk에는 파일이 저장되어 있고 cpu는 파일들을 명령어를 통해 실행해준다.
파일에 저장되어있는 일부분이 메모리에 올라온다. 그 메모리에 있는 데이터가 cpu에 의해서 실행된다.
메모리도 상당히 빠르지만 조금더 빠르게 작동하기 위해서 미리 데이터를 cpu 내부에 있는 캐시 메모리를 저장해두고 사용을 한다.
이렇게 메모리의 데이터를 일부를 미리 가져오거나 사용되고 있는 데이터를 저장해두고 사용함으로써 빠른 처리를 할 수 있다.
파일
어떤 서비스를 하고 있는 웹 서버가 있고, 웹서버를 브라우저가 url을통해 호출을하고 응답으로 html코드를 받는다.
여기에서 html 코드에서는 이미지,css등 수많은 데이터와 파일경로들존재하는데 그것들을 브라우저의 뷰에 적용을 한다.
이때 이미지와 같은 크기가 큰 이미지들은 다시 가져올 가능성이있어서 브라우저에 특정한 디렉토리에 이미지들을 저장을 한다.
저장되어 있다라는 것을 캐시되어있다라고 표현한다.
프론트엔드에서 캐시를 사용하는 영역
1. 브라우저 캐싱
- 이전에 방문했던 페이지, 제목의 썸네일 등을 서버로 요청하지 않고, 브라우저에 캐싱을 해두면 사용자는 자신의 요청을 서버로부터 기다리지 않고, 바로 캐시메모리로 응답 받을 수 있어 웹 서핑이 빠르다고 느끼고, 서버는 불필요한 요청을 받지않아 과부하를 피할수 있다.
2. proxy
- 웹 브라우저와 서버 사이에 proxy 라는 것을 두는 방식이다. proxy는 “대리인” 이라는 뜻의 영어 단어로서, 중간에서 뭔가를 대신해주는 것을 '프록시'라고 한다.
- 프록시의 경우 여러 컴퓨터로부터 요청을 받고 처리하다 보니 같은 데이터가 자주 접근될 확률이 높아져서 캐시의 성능이 좋아지고, 데이터를 캐시에서 반환하는 확률이 더 높아진다.
'기술면접스터디' 카테고리의 다른 글
| position (0) | 2023.02.24 |
|---|---|
| HTTP(Hyper Text Transfer Protocol)이란? (0) | 2023.02.23 |
| 프레임워크와 라이브러리의 차이점 (0) | 2023.02.23 |
| 호이스팅 (0) | 2023.02.22 |
| 매개변수(parameter)와 인수(argument)의 차이 (0) | 2023.02.22 |