개발자가 되기 위한 꿀팁 및 정보

[기술면접준비] 캐시의 장단점과 프론트엔드에서 사용영역

푸른매실 2023. 3. 29. 12:25

캐시(Cache)란 데이터나 웹 페이지의 일부를 미리 저장해 두는 것입니다. 이를 통해 반복적으로 같은 요청이 있을 때 서버에서 데이터를 다시 가져오는 대신 빠르게 처리할 수 있습니다. 하지만 캐시는 장단점이 있습니다.

장점:

  • 성능 향상: 캐시를 사용하면 이전 요청에서 가져온 데이터를 사용하여 새로운 요청을 처리하기 때문에 성능이 향상됩니다.
  • 네트워크 트래픽 감소: 캐시를 사용하면 브라우저나 클라이언트가 서버로 보내는 요청 수가 줄어들기 때문에 네트워크 트래픽을 감소시킬 수 있습니다.

단점:

  • 일관성 문제: 캐시된 데이터가 서버에서 변경되면, 이를 캐시된 데이터와 동기화하는 작업이 필요합니다. 이를 실시간으로 처리하지 않으면 데이터 일관성 문제가 발생할 수 있습니다.
  • 용량 제한: 캐시에 저장할 수 있는 데이터는 제한되어 있습니다. 따라서 너무 많은 데이터를 캐시하면 저장 공간 부족으로 인한 문제가 발생할 수 있습니다.

프론트엔드에서 캐시를 사용할 수 있는 2~3가지 영역은 다음과 같습니다:

  • 이미지 캐싱: 웹 페이지에서 사용되는 이미지를 브라우저 캐시에 저장하여, 다시 다운로드하지 않고 빠르게 로드할 수 있습니다.
  • CSS, JavaScript 캐싱: 웹 페이지에서 사용되는 CSS와 JavaScript 파일을 브라우저 캐시에 저장하여, 이전 요청과 같은 파일을 로드하지 않고 빠르게 처리할 수 있습니다.
  • API 요청 캐싱: API 요청 결과를 캐시에 저장하여, 동일한 요청이 발생할 때 서버로부터 데이터를 다시 받지 않고 빠르게 처리할 수 있습니다.