Just Do IT!

캐시(Cache)의 장단점 본문

CS 정리

캐시(Cache)의 장단점

MOON달 2023. 3. 29. 13:20
728x90

캐시(Cache)란?

  • 컴퓨터 과학에서 자주 사용하는 데이터나 값을 미리 복사해 놓은 임시 장소를 말한다
  • 데이터나 작업의 결과를 임시로 저장해두는 것을 의미힌다
  • 캐시를 통해 성능을 향상시키고 빠른 속도로 결과를 반환할 수 있다.

 

 

 

 

 

캐시의 장점

  • 성능 향상
    • 캐시를 데이터에 저장해두면 해당 데이터를 요청할 때마다 작업을 수행할 필요가 없어 속도가 빨라진다
  • 서버 부하 감소
    • 캐시를 사용하면 서버가 처리해야 할 요청 수를 줄일 수 있어서 서버 부하가 감소한다
  • 데이터 일관성 유지
    • 캐시는 데이터를 중복으로 저장하지 않기 때문에 데이터 일관성을 유지할 수 있다
  • 접근 시간에 비해 원래 데이터에 접근하는 시간이 오래 걸리는 경우, 혹은 값을 다시 계산하는 시간을 절약하고자 하는 경우에 사용할 수 있다

 

 

 

 

 

 

캐시의 단점

  • 캐시 불일치 문제 (캐시에 저장된 데이터가 실제 데이터와 불일치하는 경우 문제가 발생할 수 있다)
  • 비용이 비싸고 메모리 공간이 상대적으로 작다
  • 메모리 저장공간은 속도가 빠를 수록 용량이 작고, 가격이 높다

 

 

 

 

 

 

 

 

 

 

프론트엔드에서 캐시를 사용하는 경우

프론트엔드에서는 캐시를 웹 서비스 최적화에 사용한다

(예) 같은 이미지, css, js 같은 정적 컨텐츠에 캐시 사용


  1. 브라우저 캐시
    • 브라우저는 이미 방문한 웹 사이트의 리소스를 캐시해두어 다음에 해당 사이트를 방문할 때 더 빠르게 로딩할 수 있다
    • 이를 통해 사용자는 웹 서핑이 빠르다고 느낄 수 있다
  2. CDN 캐시
    • CDN(Content Delievery Network)는 전 세계의 다양한 위치에 서버를 설치하여 사용자에게 가장 가까운 서버에서 콘텐츠를 제공한다
    • 콘텐츠를 캐시해두기 때문에 사용자에게 빠른 응답 속도를 제공한다
  3. 상태 관리 라이브러리 캐시 (Redux, MobX)
    • 애플리케이션의 상태를 저장하고 관리하는 라이브러리이다
    • 이러한 라이브러리는 캐시를 사용하여 애플리케이션의 성능을 향상시킬 수 있다.