캐시(Cache), 캐싱(Caching)이란?

박정호·2025년 2월 2일

캐시(Cache)란?

캐시(Cache)란, 원본 저장소보다 빠르게 가져올 수 있는 임시 데이터 저장소를 의미한다.

참고로 캐시(Cache)라는 단어는 Redis에서만 쓰이는 용어는 아니고 전반적인 개발 분야에서 통용돼서 쓰인다.

EX) 브라우저에 접속했을 때, 이미지나 파일들을 캐싱해 놓고 빠르게 가져와서 홈페이지에 띄울 수 있도록 한다.

캐싱(Caching)이란?

캐싱(Caching)이란 캐시(Cache, 임시 데이터 저장소)에 접근해서 데이터를 빠르게 가져오는 방식을 의미한다.

현업에서는 아래와 같이 얘기하는 편이라고 한다.

“이 API는 응답 속도가 너무 느린데? 이 응답 데이터는 캐싱(Cahing) 해두고 쓰는 게 어때?’

이 말을 풀어서 설명하자면 ‘API 응답 결과를 원본 저장소보다 빠르게 가져올 수 있는 임시 데이터 저장소에 저장해두고, 빠르게 조회할 수 있게 만드는 게 어때?’라는 의미이다.

캐시를 사용하는 이유

  1. 성능 향상
    • 자주 사용되는 데이터를 더 빠르게 접근할 수 있는 위치에 저장함으로써 시스템의 응답 시간을 크게 단축
    • 예를 들어, CPU 캐시는 메인 메모리보다 훨씬 빠르게 데이터에 접근할 수 있다.
  2. 리소스 절약
    • 동일한 데이터를 반복적으로 생성하거나 가져올 필요가 없어 서버나 데이터베이스의 부하 감소
    • 네트워크 트래픽을 감소시켜 대역폭 사용을 최적화
  3. 사용자 경험 개선
    • 웹 브라우저의 캐시는 이미지, CSS, JavaScript 파일 등을 로컬에 저장해 웹페이지 로딩 시간을 단축
    • 모바일 앱에서도 자주 사용되는 데이터를 캐싱하여 오프라인 상태에서도 기본적인 기능을 사용 가능하게 함
  4. 비용 절감
    • 클라우드 서비스나 CDN을 사용할 때 반복적인 데이터 전송을 줄여 비용 절감
    • 데이터베이스 쿼리 횟수를 줄여 데이터베이스 서버 비용 절약

캐시는 이처럼 시스템의 전반적인 성능과 효율성을 향상시키는 중요한 역할을 한다. 다만, 캐시 데이터의 일관성 관리나 메모리 사용량 등을 고려해야 한다.

캐시의 주요 목적 중 하나가 바로 디스크 I/O를 줄이는 것

  1. 디스크 접근 감소 효과
    • 자주 사용하는 데이터를 메모리(RAM)에 캐싱하면 SSD에 반복적으로 접근할 필요가 없어집니다
    • 이는 SSD의 P/E 사이클을 절약하여 수명을 연장하는 효과가 있습니다
  2. 실제 적용 사례
    • 운영체제의 페이지 캐시: 파일 시스템 접근을 줄임
    • 데이터베이스 버퍼 캐시: 디스크 읽기/쓰기 최소화
    • 브라우저 캐시: 웹 리소스의 로컬 저장으로 디스크 접근 감소

0개의 댓글