캐시란?
데이터 값을 미리 복사 후 저장해놓는 임시 저장소. 주로 데이터나 자원을 반복적으로 불러오는 작업에서 사용한다.
장점
성능 향상
- 데이터에 더 빠르게 접근할 수 있기 때문에 데이터를 읽는 시간이 감소한다.
- 더 적은 양의 데이터만 서버에서 읽어오기 때문에 대역폭이 절약된다.
- 캐시는 로컬에 저장되기 때문에 서버로부터 데이터를 읽어오는 횟수가 감소한다. 즉, 서버 부하가 감소한다.
- 네트워크 장애, 서버 다운 등이 발생해도 애플리케이션을 사용할 수 있으므로 안정성이 향상된다.
단점
- 캐시 데이터가 오래된 데이터라면 최신 데이터와 일치하지 않을 수도 있다.
- 캐시는 메모리에 저장되므로, 많은 양의 캐시를 사용하면 시스템의 메모리 사용량이 증가한다.
- 캐시의 크기가 작거나 데이터가 자주 변경될 경우, 캐시의 적중률이 저하될 수도 있다.
프론트엔드는 캐시를 어디에 활용할까?
-
브라우저 캐시
브라우저에서 이미지, 스타일시트, 자바스크립트 등의 파일을 캐싱하여 재다운로드를 방지한다.
-
데이터 캐시
애플리케이션에서 사용하는 데이터를 미리 캐싱하여 더 빠른 접근이 가능하도록 한다. 주로 SPA에서 많이 사용된다.
-
HTTP 캐시
HTTP 응답 헤더를 이용하여 클라이언트 측에서 캐시를 구현할 수 있다. 예를 들어, Cache-Control 헤더를 설정하면 캐시의 지속시간을 조절할 수 있다.