본문 바로가기

캐시 메모리

캐시란 다시 찾을 가능성이 큰 데이터의 사본을 가까운 곳에 미리 두어, 원본까지 가는 왕복을 줄이는 저장 방식이다. 수능 독서에서는 신선도(유효 기간)와 검증, 공유·개인 캐시의 구분이 핵심 축이 된다.

목차

1. 개요

캐시란 자주 찾는 데이터를 원본 서버까지 가지 않고도 쓸 수 있도록, 요청이 지나는 길목 앞단에 잠시 복사해 두었다가 다시 꺼내 쓰는 임시 저장 기법이다.1 노리는 것은 둘이다. 가까운 곳에서 바로 응답을 돌려주니 대기 시간이 짧아지고, 같은 요청이 원본까지 매번 가지 않으니 원본의 부하가 줄어 전체 처리량이 오른다. 그래서 캐시는 여러 컴퓨터가 협력하는 분산 시스템에서 로드밸런싱과 더불어 성능을 떠받치는 두 축으로 꼽힌다. 핵심은 '언제까지 믿고 쓸 수 있는가'다. 저장된 사본에는 유효 기간이 붙어, 기간 안이면 그대로 쓰지만 지나면 원본에 바뀌었는지 물어 확인한 뒤 다시 쓴다. 마스터-슬레이브 구조의 슬레이브가 읽기를 나눠 받듯, 캐시도 원본을 대신해 읽기를 받아 주는 앞단 장치인 셈이다. 자주 쓰는 값을 앞단에서 되돌려 원본 부하를 던다는 발상은, 분산 저장의 다른 축인 샤딩과 복제나 큰 파일을 여러 노드에 쪼개 두는 분산 파일 시스템과 더불어 한 대의 한계를 넘어서려는 분산 시스템의 여러 기법 가운데 하나다.

2. 상세

2.1. 원리 — 가까울수록 빠르다

자주 쓰는 값을 원본 앞단에 두는 이유는 간단하다. 요청이 먼 원본까지 왕복하지 않고 가까운 사본에서 곧장 처리되니 응답이 빨라지고, 원본은 같은 일을 되풀이하지 않아 여력이 생긴다. 붐비는 식당이 인기 메뉴를 미리 만들어 앞에 쌓아 두면 주문마다 주방까지 가지 않아도 되는 것과 같다.

2.2. 신선도와 만료(TTL) — 언제까지 믿을까

사본에는 '유효 기간'이 붙는다. 저장된 뒤 흐른 시간이 이 기간 안이면 사본을 '신선(fresh)'하다고 보아 그대로 내주고, 기간을 넘기면 '오래됨(stale)'으로 판정한다. 이 기간을 정하는 값이 TTL이다. 기간을 짧게 잡으면 늘 최신에 가깝지만 원본에 묻는 일이 잦아지고, 길게 잡으면 빠른 대신 옛값을 내줄 위험이 커진다.2

2.3. 검증 — 만료가 곧 폐기는 아니다

기간이 지났다고 사본을 곧장 버리지는 않는다. 캐시는 원본에 '그동안 이 값이 바뀌었나'를 짧게 물어보고(조건부 요청), 원본이 그대로라고 답하면 갖고 있던 사본을 다시 쓴다. 바뀌었을 때만 새 값을 받아 온다. 덕분에 큰 데이터를 매번 통째로 다시 내려받지 않아도 된다. '만료 → 검증 → 재사용 또는 갱신'이라는 절차가 캐시의 핵심 리듬이다.3

2.4. 개인 캐시와 공유 캐시

사본을 누가 쓰느냐로도 갈린다. 한 사용자만 쓰는 개인 캐시(각자의 브라우저가 대표적이다)가 있고, 여러 사용자가 함께 쓰도록 요청 길목에 놓인 공유 캐시가 있다. CDN이 그 대표적인 예다. 공유 캐시는 한 번 저장해 두면 여러 사용자의 같은 요청을 한꺼번에 덜어 주므로 원본 부하를 더 크게 줄인다.4

3. 수능에서는 이렇게 나온다

평가원은 캐시를 '항상 최신을 담은 저장고'로 여기는 착각을 짚는 문제를 낸다. 구체적인 출제 이력은 아래 위젯을 참조하라. 이런 각도로 나온다.

  • 조건-결과: 저장 뒤 흐른 시간이 유효 기간을 넘었는지로 신선과 만료를 가르는 판정을 묻는다. '기간을 넘김 → 만료'라는 조건을 슬쩍 뒤집은 선지가 함정이 된다.
  • 절차 순서: 만료된 사본을 '즉시 버린다'고 서술해 검증 단계를 건너뛰게 만드는 함정. 실제로는 물어본 뒤 그대로 다시 쓸 수 있다.
  • 목적-수단 인과: '원본 부하를 줄이자'는 문제 상황과 '앞단에 캐시를 둔다'는 해법을 알맞게 연결하는지 확인한다.

4. 헷갈리기 쉬운 것들

흔한 오해 왜 틀렸나 바르게 이해하기
캐시가 만료되면 그 즉시 못 쓰게 버려진다 만료돼도 곧장 버리지 않는다. 원본에 바뀌었는지 확인해 그대로면 있던 사본을 다시 쓴다 만료는 '폐기'가 아니라 '확인하라'는 신호로, 만료 → 검증 → 재사용/갱신으로 읽는다
캐시에 담긴 값은 늘 원본과 똑같은 최신값이다 유효 기간이 남은 동안에는 원본이 이미 바뀌었어도 옛 사본을 그대로 내줄 수 있다 캐시는 빠름을 위해 잠깐의 옛값을 감수하는 장치임을 기억한다
캐시를 두면 원본은 더 할 일이 없어진다 첫 요청, 만료 뒤 검증, 바뀐 값 갱신은 여전히 원본이 처리한다 캐시는 원본 부하를 '줄이는' 것이지 '없애는' 것이 아니다

5. 관련 개념

  • 분산 시스템 — 캐시가 성능을 끌어올리는 무대가 되는 상위 구조
  • 로드밸런싱 — 캐시와 함께 성능·분배를 맡는 짝 개념. 요청을 나눠 병목을 없앤다
  • 마스터-슬레이브 구조 — 슬레이브가 읽기를 나눠 받듯, 캐시도 읽기를 대신 받는 앞단이다
  • 샤딩과 복제 — 원본 데이터 쪽을 나누고 베끼는 분산 저장의 다른 축. 캐시와 함께 분산 시스템이 한 대의 한계를 넘는 방식이다
  • 분산 파일 시스템 — 큰 데이터를 여러 노드에 나눠 저장하는 구조로, 같은 분산 시스템 무대를 공유한다

각주

  1. 정의와 절차 서술은 평가원 기출 기반 배경지식 자료(기술·분산 시스템)의 심화 합성 자료 가운데 웹 캐싱·신선도·검증 부분을 따랐다.

  2. TTL은 사본에 붙는 유효 기간, 곧 유통기한이다. 우유갑의 소비기한을 떠올리면 '기간 안이면 그냥, 지나면 확인'이라는 리듬이 한 번에 잡힌다.

  3. 시험에서 '만료=곧 삭제'로 단정하는 선지는 함정일 수 있다. '만료된 뒤에도 물어보고 다시 쓴다'는 절차를 붙잡으면 이런 함정을 피한다.

  4. 사본을 '누가 쓰느냐'로 개인 캐시와 공유 캐시가 갈린다. 개인 캐시는 각자의 브라우저처럼 한 사람만 쓰고, 공유 캐시는 여러 사용자의 요청을 앞단에서 함께 받아 한 번의 저장으로 여러 요청을 덜어 준다. 지문이 '누구를 위한 저장인지'를 따지면 이 구분을 떠올린다.

출제 사례(아직 매칭된 출제 기록이 없어요)

이 개념이 어느 시험·지문에 등장했는지의 기록입니다. 개념 자체의 난이도가 아니라 출제 맥락을 보여줍니다.

출제 기록이 확인되면 여기에 시험·지문·문항이 채워집니다.

이 문서를 가리키는 문서

잘못된 내용을 발견하셨나요? 신고해 주시면 검토 후 반영합니다.

다음 단계

이 개념, 실제 지문에서 훈련하기

수능특강·기출 지문 해설로 개념이 문항에서 어떻게 쓰이는지 직접 확인해보세요.

학습 자료 보러가기