성장에 목마른 코린이

웹 서비스에서의 캐시(Cache) 본문

CodeStates/Section 3 (백엔드)

웹 서비스에서의 캐시(Cache)

성장하는 코린이 2022. 4. 22. 12:09
728x90

웹 서비스에서의 캐시

많은 시간이나 연산이 필요한 작업의 결과를 저장해두는 것을 의미합니다.

컴퓨팅에서 캐시는 일반적으로 일시적인 데이터를 저장하기 위한 목적으로 존재하는 고속의 데이터 저장 공간입니다. 첫 작업 이후에 이 데이터에 대한 요청이 있을 경우,

데이터의 기본 저장 공간에 접근할 때보다 더 빠르게 요청을 처리할 수 있습니다.

캐싱을 사용하면 이전에 검색하거나 계산한 데이터를 효율적으로 재사용할 수 있습니다.

캐시의 일반적인 작동원리

캐시의 데이터는 일반적으로 RAM과 같이 빠르게 액세스할 수 있는 하드웨어에 저장됩니다.

캐시는 기본 스토리지 계층(SSD, HDD)에 액세스하여 데이터를 가져오는 더 느린 작업의 요구를 줄이고,

데이터 검색의 성능을 높입니다.

속도를 위해 용량을 절충하는 캐시는 일반적으로 데이터의 하위 집합을 일시적으로 저장합니다.

완전하고 영구적인 데이터가 있는 데이터베이스와는 대조적입니다.

캐시의 장점

  1. 애플리케이션 성능 개선
  2. 데이터베이스 비용 절감
  3. 백엔드 부하 감소
  4. 예측 가능한 성능
  5. 데이터베이스 핫스팟 제거
  6. 읽기 처리량 증가
    • 읽기 처리량: IOPS; Input/output operations per second. HDD, SSD 등의 컴퓨터 저장 장치의 성능 측정 단위

웹서비스에서 캐시가 적용되는 예시

  • 클라이언트: HTTP 캐시 헤더, 브라우저
  • 네트워크: DNS 서버, HTTP 캐시 헤더, CDN, 리버스 프록시
  • 서버 및 데이터베이스: 키-값 데이터 스토어(e.g. Redis), 로컬 캐시(인-메모리, 디스크)
Comments