바이브 코딩

캐싱Caching

캐싱 (Caching)은 자주 쓰는 물건을 서랍 맨 위 칸에 꺼내 두는 것 — 매번 창고까지 가서 찾는 대신 손 닿는 곳에 미리 꺼내 두어 훨씬 빠르게 꺼내 쓰는 방식.

편의점 직원이 가장 많이 팔리는 음료를 계산대 바로 옆 냉장고에 채워 두는 것을 상상해 보세요. 손님이 올 때마다 창고 안쪽까지 달려가는 대신, 자주 찾는 것만 골라 가까운 곳에 미리 꺼내 두는 겁니다. 캐싱 (Caching)도 똑같습니다. 서버 (Server)가 매번 데이터베이스 (DB)를 뒤지거나 복잡한 계산을 반복하는 대신, 자주 요청되는 결과를 임시 저장소에 보관해 두었다가 다음 요청이 오면 즉시 꺼내 주는 방식입니다. 덕분에 응답 속도가 빨라지고 서버 부하가 줄어듭니다.

1인 비즈니스(1인 사이트 운영)를 하다 보면 캐싱은 생각보다 빨리 만나게 됩니다. 블로그 메인 페이지의 인기 글 목록, 뉴스레터 아카이브 페이지, 쇼핑몰 베스트셀러 목록처럼 수백 명이 동시에 보는 콘텐츠를 매 요청마다 DB에서 새로 불러오면 속도가 느려지고 비용이 올라갑니다. 캐싱을 적용하면 한 번 불러온 결과를 일정 시간 저장해 두었다가 같은 요청엔 저장된 것을 바로 돌려줍니다. AI와 함께 코드를 짤 때 'API 응답을 캐싱해' 또는 '캐시 (Cache)를 무효화해'라는 지시를 내리면 속도와 비용 두 가지를 동시에 잡을 수 있습니다.

초보가 자주 혼동하는 점은 '캐시가 오래되면 화면에 옛날 내용이 보인다'는 것입니다. 캐싱은 저장 시점의 결과를 그대로 보여주기 때문에, 글을 수정하거나 재고를 업데이트해도 캐시 유효 시간이 지나기 전까지는 이전 내용이 노출될 수 있습니다. 그래서 캐시 만료 시간 (TTL, Time To Live)을 얼마로 설정할지 — 자주 바뀌는 데이터는 짧게, 거의 안 바뀌는 데이터는 길게 — 가 핵심 결정 포인트입니다.

💡 대표 예시

  • 블로그 메인 페이지의 '인기 글 TOP 5' 목록을 매 요청마다 DB에서 조회하지 않고 10분간 캐싱해 속도 개선
  • 뉴스레터 아카이브 페이지 전체 HTML을 캐싱해 두어 구독자가 한꺼번에 몰려도 서버가 버티도록 처리
  • SaaS 요금제 페이지의 플랜 목록처럼 거의 안 바뀌는 정보를 1시간 캐싱해 DB 조회 비용 절감
  • 쇼핑몰 베스트셀러 상품 이미지·가격 정보를 5분 캐싱해 동시 접속자가 많아도 빠른 응답 유지
  • 포트폴리오 사이트의 프로젝트 썸네일·설명을 정적으로 캐싱해 전 세계 어디서 접속해도 빠르게 로드
  • 커뮤니티 사이트의 공지사항·태그 목록처럼 자주 읽히지만 드물게 바뀌는 데이터를 캐싱해 서버 부하 감소

🔗 관련 용어

이 개념, 직접 적용해볼까요?

AI와 함께 나만의 사이트·서비스를 만드는 법을 강의에서 배워보세요.