캐시: 정의와 캐싱이 사용되는 모든 분야

공정위 광고 문구 Ver 3.1
공정위 광고 문구 Ver 3.2(모바일 전용)

캐시가 쓰이는 분야를 하드웨어부터 웹까지 위키백과·MDN·워드프레스 공식 문서의 분류에 맞춰 하나의 트리로 정리했습니다. CPU, 운영체제, 데이터베이스, 브라우저가 모두 같은 이름을 쓰므로, 비운다는 말도 어느 층인지에 따라 지워지는 대상이 달라집니다.

캐시는 자주 사용하거나 곧 필요할 데이터를 원본보다 빠른 저장소에 임시로 저장해 두고, 같은 요청이 오면 원본 대신 그 사본으로 응답합니다.

영어 위키백과의 Cache (computing) 문서는 캐시를 CPU 캐시·GPU 캐시 같은 하드웨어 캐시와 디스크·웹·DNS·데이터베이스 캐시 같은 소프트웨어 캐시로 나눕니다. 아래 트리는 이 분류를 캐시가 놓이는 자리 기준으로 묶었으며, 웹 캐시는 MDN의 private cache와 shared cache 분류를 따랐습니다.

🗂️ 캐시가 쓰이는 분야
💻 Ⅰ. 사용자 단말 장치
운영체제 캐시디스크 캐시 · DNS 캐시
브라우저 캐시HTTP 캐시의 private cache
모바일 앱 캐시썸네일 · 세션 데이터
🖥️ Ⅱ. 서버 및 애플리케이션
페이지 캐시완성된 HTML(WP Rocket · FastCGI 캐시)
OPcachePHP 바이트코드
오브젝트 캐시Redis · Memcached
웹 프레임워크 캐시Laravel · Django
🌐 Ⅲ. 콘텐츠 전송 · 네트워크
CDNHTTP 캐시의 shared cache
프록시 캐시정방향 · 역방향(Varnish)
네트워크 캐시ARP 캐시 · DNS 리졸버 캐시
🗄️ Ⅳ. 데이터베이스 · 스토리지
DB 내부 캐시InnoDB 버퍼 풀 · Shared Buffers
스토리지 캐시디스크 컨트롤러 · SSD DRAM
⚙️ Ⅴ. 하드웨어
CPU 캐시L1 · L2 · L3 · TLB
GPU 캐시텍스처 · 셰이더 데이터
☁️ Ⅵ. 클라우드 · 가상화
컨테이너 캐시Docker 레이어
서버리스 함수Warm Start
빌드 캐시CI/CD 의존성 · 결과물

브라우저·CDN·서버 내부 캐시가 워드프레스 요청 하나를 처리하는 순서는 웹사이트 캐시 & 서버 내부 캐시: 워드프레스 캐시가 작동하는 방식 글에서 시뮬레이터로 확인할 수 있습니다.

Ⅰ. 사용자 단말 장치

  • ↳ Client-Side Cache

개인 컴퓨터와 스마트폰 같은 사용자 단말 장치의 캐시는 운영체제(OS) 캐시, 브라우저 캐시, 모바일 앱 캐시로 나눌 수 있습니다.

운영체제(OS) 캐시기기 메모리(RAM)
저장하는 것디스크에서 읽은 데이터 · 도메인과 IP 주소

디스크 캐시(페이지 캐시)는 디스크에서 읽은 데이터를 메모리에 남겨 두며 운영체제 커널이 관리합니다. DNS 캐시는 최근 조회한 도메인과 IP 주소를 저장합니다.

디스크 캐시DNS 캐시
브라우저 캐시브라우저 저장소
저장하는 것HTML · CSS · JS · 이미지 · 폰트

같은 리소스를 다시 요청할 때 서버까지 가지 않거나 바뀌었는지만 확인합니다. Service Worker(Cache API)를 쓰면 오프라인에서도 저장된 리소스로 웹앱을 열 수 있습니다.

private cacheService Worker
모바일 앱 캐시앱 저장 공간
저장하는 것썸네일 · 콘텐츠 일부 · 로그인 상태

대용량 콘텐츠를 다루는 앱은 받은 데이터와 최근 본 목록을 기기에 저장해 같은 데이터를 다시 받지 않습니다.

유튜브인스타그램

Ⅱ. 서버 및 애플리케이션 캐시

  • ↳ Server-Side Cache

서버 측 캐시는 요청이 서버에 도착한 뒤 페이지를 만드는 과정에 붙는 캐시입니다. 워드프레스 공식 문서는 이를 캐싱 플러그인(페이지 캐시), 오브젝트 캐시, 서버 캐시(OPcache 같은 opcode 캐시)로 나눠 설명합니다.

페이지 캐시서버 디스크 · 메모리
저장하는 것완성된 HTML 페이지

같은 페이지 요청에는 PHP를 실행하지 않고 저장된 사본을 보냅니다. 캐시 플러그인과 웹 서버 캐시가 있습니다.

WP RocketNginx FastCGI 캐시LiteSpeed Cache
OPcache서버 메모리
저장하는 것컴파일된 PHP 바이트코드

같은 파일을 다시 실행할 때 컴파일을 생략합니다. PHP 5.5부터 기본으로 포함되어 있습니다.

opcode 캐시
오브젝트 캐시서버 메모리
저장하는 것쿼리 결과 · 세션 정보

자주 사용되는 데이터를 메모리 저장소에 저장해 같은 쿼리를 반복하지 않습니다.

RedisMemcached
웹 프레임워크 캐시애플리케이션
저장하는 것템플릿 · 라우트 · 쿼리 결과

웹 프레임워크가 렌더링된 템플릿과 쿼리 결과를 자체 캐시에 저장합니다.

LaravelDjango

Ⅲ. 콘텐츠 전송 / 네트워크 인프라 캐시

네트워크 인프라의 캐시는 방문자와 원본 서버 사이에서 사본으로 응답해, 물리적 거리와 원본 서버의 부하를 줄입니다. HTTP 캐시 표준에서는 여러 방문자가 함께 쓰는 shared cache에 해당합니다.

CDN엣지 서버
저장하는 것정적 파일 · 페이지

전 세계에 분산된 서버 중 방문자와 가장 가까운 서버에서 전달합니다. 구조와 이점은 CDN이란? CDN 사용 이유와 이점 5가지 글에 있습니다.

CloudflareAkamaiFastlyQUIC.cloud
프록시 캐시프록시 서버
저장하는 것서버 응답

정방향 프록시는 기업 네트워크처럼 클라이언트 쪽 앞단에서, 역방향 프록시는 서버 앞단에서 응답을 저장합니다.

Varnish CacheNginx 리버스 프록시
네트워크 캐시네트워크 장비 · DNS 리졸버
저장하는 것IP와 MAC 주소 연결 · DNS 조회 결과

네트워크 장비는 ARP 캐시에, 통신사·공용 DNS 리졸버는 조회 결과를 레코드의 TTL 동안 저장합니다.

ARP 캐시DNS 리졸버 캐시

Ⅳ. 데이터베이스 및 스토리지 시스템 캐시

데이터베이스와 저장장치는 디스크 입출력이 느린 만큼, 자주 읽는 데이터를 메모리에 올려 두고 사용합니다.

데이터베이스 내부 캐시DB 서버 메모리
저장하는 것자주 읽는 데이터 · 인덱스

자주 읽는 데이터와 인덱스를 메모리에 유지합니다. MySQL 쿼리 캐시는 8.0에서 제거됐고, MariaDB에는 남아 있지만 기본으로 꺼져 있습니다.

InnoDB 버퍼 풀PostgreSQL Shared BuffersMongoDB WiredTiger
스토리지 캐시저장장치 안 메모리
저장하는 것최근 읽기 · 쓰기 데이터

하드디스크 컨트롤러에 내장된 메모리와 SSD 안의 DRAM이 데이터를 임시로 저장해 입출력 지연을 줄입니다.

디스크 컨트롤러 캐시SSD · NVMe DRAM

Ⅴ. 하드웨어 레벨 캐시

하드웨어 캐시는 CPU와 GPU 안에 들어 있는 고속 메모리로, 메인 메모리(RAM)보다 빠르게 데이터를 처리합니다.

CPU 캐시프로세서 안
저장하는 것명령어 · 데이터 · 주소 변환 결과

L1은 코어마다 따로 있고 명령어 캐시와 데이터 캐시로 나뉘며, L3는 코어 전체가 공유합니다. 메모리 관리 장치(MMU)는 가상 주소를 물리 주소로 바꾼 결과를 TLB에 저장합니다.

L1L2L3TLB
GPU 캐시그래픽 처리 장치 안
저장하는 것텍스처 · 셰이더 명령어 · 중간 결과

게임, 3D 그래픽, 머신러닝 연산에서 GPU의 처리 효율을 높입니다.

Ⅵ. 클라우드 / 가상화 환경 캐시

클라우드와 가상화 환경에서는 컨테이너 이미지, 함수 실행 환경, 빌드 결과물을 다시 사용해 배포와 실행 시간을 줄입니다.

컨테이너 캐시빌드 서버 · 레지스트리
저장하는 것이미지 레이어

Docker 이미지는 여러 레이어로 구성되며, 변경되지 않은 레이어는 다시 빌드하거나 내려받지 않습니다.

Docker
서버리스 함수클라우드 실행 환경
저장하는 것실행 환경

호출이 끝난 실행 환경을 일정 시간 유지했다가 다음 호출에 다시 사용해, 초기화 시간(Cold Start)을 줄입니다(Warm Start).

AWS LambdaGoogle Cloud Functions
빌드 캐시CI 캐시 저장소
저장하는 것의존성 라이브러리 · 컴파일 결과물

반복 빌드 시간을 줄입니다.

GitHub ActionsGitLab CI

🔢 FAQ & 추천 콘텐츠

아니요. 브라우저 캐시를 지우면 방문자 기기에 저장된 사본만 지워집니다. 서버의 페이지 캐시와 CDN의 사본은 사이트 운영자가 캐시 플러그인이나 CDN 관리 화면에서 비웁니다.

비운 직후 첫 요청은 원본까지 내려가므로 평소보다 느리게 응답합니다. 그 요청이 사본을 다시 만들면 다음 요청부터 원래 속도로 돌아오며, WP Rocket의 [사전 로드]는 비운 뒤 사본을 미리 만들어 둡니다.

Windows는 작업 관리자 [성능] → [CPU] 화면 아래에 L1·L2·L3 캐시 용량이 표시됩니다. Linux는 [lscpu] 명령의 결과에서 같은 값을 확인할 수 있습니다.

💾 캐시 관련 글 글 10
🗂️ 캐시
📋 캐시: 정의와 모든 분야 📄 웹사이트 캐시 & 서버 내부 캐시
📋 WP Rocket 설정 가이드 📝 Zend OPcache 📝 Redis Cache 설치
📝 CDN이란? 📝 Varnish Cache
📋 WP Rocket 속도 테스트 📝 속도 개선 사례 📝 캐시 · 최적화 플러그인

ℹ️ 제휴 안내
본 사이트의 콘텐츠에는 제휴 링크가 포함되어 있습니다. 방문자가 이 링크를 통해 상품 또는 서비스를 구매하면 본 사이트는 판매처로부터 수수료를 지급받습니다. 이 과정에서 구매자가 지불하는 금액(이벤트 할인 시 금액이 내려갑니다↓)은 오르지 않습니다. 게시된 가격·할인·재고 정보는 작성 시점 기준이며 실제와 다를 수 있으므로, 구매 전 판매처에서 최종 확인하시기 바랍니다. 상품 선정과 평가는 자체 기준에 따라 작성되며, 수수료 지급 여부가 소개 순서나 평가 내용에 영향을 주지 않습니다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

인간임을 증명하세요: 9   +   8   =