반응형
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 (보조기억장치)
→ 네트워크 / 클라우드 (원격)
[가장 느림]
동작 흐름 예시:
- CPU가 연산에 필요한 데이터를 찾음
- 먼저 L1 캐시 확인 → 없으면 L2 → 없으면 L3
- 그래도 없으면 RAM → SSD 까지 내려감
- 찾는 데이터는 상위 캐시에 저장 (다음에 빠르게 사용)
이렇게 단계적으로 데이터를 찾고, 위로 올려 저장해두는 과정이 바로 캐싱이다.
실생활/실무 캐시 예시
분야 | 캐시 적용 사례 |
웹 브라우저 | 자주 방문한 사이트 이미지, 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 | 파일을 미리 읽어와 메모리에 저장 (디스크 캐시) |
반응형
'Knowledge' 카테고리의 다른 글
[Knowledge] Active Directory(AD) (3) | 2025.08.21 |
---|---|
[Knowledge] 쿠키(Cookie)와 세션(Session) (0) | 2025.07.22 |
[Knowledge] Basic 인증과 Bearer 인증 (0) | 2025.07.04 |
[Knowledge] DOM-Based XSS (0) | 2025.06.30 |
[Knowledge] 공인 IP & 사설 IP & NAT의 역할 (0) | 2025.03.19 |