본문 바로가기

Knowledge

[Knowledge] 캐시(Cache)와 캐싱(Caching)

반응형

Introduction

현대의 컴퓨터 시스템이나 웹 서비스에서는 속도와 성능이 핵심이다. 사용자가 웹사이트를 클릭했을 때 페이지가 빠르게 뜨고, 서버가 반복된 요청을 효율적으로 처리하기 위해서는 데이터를 얼마나 효율적으로 저장하고 불러오는지가 매우 중요하다.

이때 등장하는 개념이 바로 캐시(Cache)캐싱(Caching)이다. 두 용어는 비슷하게 들리지만, 엄연히 다른 의미를 가지고 있다. 실무에서 혼용되는 경우도 많지만, 정확히 구분하고 이해하는 것이 중요하다.

때문에 이 글에서는 캐시와 캐싱의 차이점에 대해 함께 살펴보자


Cache VS Caching

1. 캐시(cache)란?

캐시는 자주 사용하는 데이터를 빠르게 불러오기 위해 임시로 저장해두는 저장소 또는 데이터 자체를 의미한다.

 

예시:

  • 웹 브라우저의 캐시
  • CPU의 L1/L2/L3 캐시
  • DB 쿼리 결과를 Redis에 저장

특징:

  • 명사: 저장된 위치나 그 안의 데이터 자체를 의미
  • 속도 향상을 위해 미리 저장해둔 것
  • 주로 RAM이나 CPU 내부, 또는 외부 저장소(Redis, 브라우저 등)에 위치

 

2. 캐싱(caching)이란?

캐싱은 캐시에 데이터를 저장하거나 불러오는 행위 또는 이를 자동화, 최적화하기 위한 전략을 의미한다.

 

예시: 

  • 이 API는 응답 결과를 10분간 캐싱합니다
  • 속도 개선을 위해 캐싱 로직을 적용했습니다.

특징:

  • 동명사/동작: 캐시를 어떻게 다룰 것인지에 대한 개념
  • 캐시를 구성, 유지, 무효화하는 기술 전략 자체를 포함

메모리 계층 구조

캐시는 왜 필요한 걸까?

컴퓨터가 데이터를 빠르게 처리하기 위해서는 구조적인 이유가 있다.

 

1. 계층 구조

컴퓨터는 속도와 용량의 균형을 맞추기 위해 가까운 곳은 빠르게, 먼 곳은 느리지만 많이 저장할 수 있게 설계되어 있다.

[가장 빠름]
→ CPU Register (몇 바이트)
→ L1 / L2 / L3 Cache
→ RAM (주기억장치(메모리))
→ SSD / HDD (보조기억장치)
→ 네트워크 / 클라우드 (원격)
[가장 느림]

 

동작 흐름 예시:

  1. CPU가 연산에 필요한 데이터를 찾음
  2. 먼저 L1 캐시 확인 → 없으면 L2 → 없으면 L3
  3. 그래도 없으면 RAM → SSD 까지 내려감
  4. 찾는 데이터는 상위 캐시에 저장 (다음에 빠르게 사용)

이렇게 단계적으로 데이터를 찾고, 위로 올려 저장해두는 과정이 바로 캐싱이다.


실생활/실무 캐시 예시

분야 캐시 적용 사례
웹 브라우저 자주 방문한 사이트 이미지, CSS, JS 캐시
- Memory Cache: 브라우저 탭 열려 있는 동안만 메모리에 저장됨(휘발성)
- Disk Cache: SSD/HDD에 저장되어 브라우저를 껐다 켜도 유지됨
- Page Cache / bfcache: 앞으로/뒤로 가기 시 전체 페이지 상태를 보존
- Service Worker Cache: 오프라인용 캐시 전략, 코드 기반 제어 가능
- DNS, Font, Push Cache 등: 브라우저 최적화를 위한 특수 캐시들
서버 개발 Redis로 DB 쿼리 결과 캐싱
프론트엔드 React Query, SWR로 API 응답 캐싱
CDN 이미지, 영상 파일을 가까운 서버에 캐시
OS 파일을 미리 읽어와 메모리에 저장 (디스크 캐시)

 

반응형