🌿 중급 백엔드
API 응답 캐싱이란?
쉽게 이해하기
매번 도서관에 가서 같은 책을 빌리는 대신, 자주 보는 책은 집에 복사본을 두는 거예요. 다음에 필요하면 도서관 안 가고 바로 꺼내 볼 수 있으니 훨씬 빠르죠. API 캐싱도 똑같아요.
핵심 정리
자주 요청되는 데이터를 임시 저장해서 빠르게 응답하는 기술이예요.
자세히 알아보기
API를 호출할 때마다 서버가 데이터베이스를 조회하고 계산을 하면 시간이 걸려요. 특히 같은 데이터를 반복해서 요청하는 경우가 많은데, 예를 들어 상품 목록이나 인기 게시물 같은 건 몇 분에 한 번씩 바뀌지 않아요. 이럴 때 캐싱을 사용하면 응답 속도를 획기적으로 개선할 수 있어요.
API 응답 캐싱은 첫 요청의 응답을 메모리나 Redis 같은 빠른 저장소에 저장해두는 거예요. 같은 요청이 다시 들어오면 서버는 데이터베이스를 건드리지 않고, 저장해둔 응답을 바로 보내줘요. 예를 들어 `/api/products` 응답을 5분간 캐싱하면, 5분 동안 들어오는 모든 요청은 즉시 처리돼요.
캐싱할 때 중요한 건 '언제 새로고침할 것인가'예요. 너무 오래 캐시하면 오래된 데이터를 보여주게 되고, 너무 자주 갱신하면 캐싱 효과가 없어요. 보통 TTL(Time To Live)을 설정해서 일정 시간이 지나면 자동으로 갱신되게 해요. 실시간성이 중요한 데이터는 캐싱하지 않거나 짧게 설정하고, 거의 안 바뀌는 데이터는 길게 설정해요.
실무에서는 HTTP 헤더로 캐싱을 제어해요. `Cache-Control: max-age=300` 같은 헤더를 보내면 브라우저나 CDN이 5분간 응답을 캐시해요. 이렇게 하면 서버 부하가 크게 줄어들고, 사용자는 빠른 응답을 경험할 수 있어요. 캐싱은 성능 최적화의 가장 기본적이면서도 강력한 방법이에요.