Cache API로 Worker 가속화 (5줄 코드)

발행: (2025년 12월 29일 오후 07:05 GMT+9)
2 min read
원문: Dev.to

Source: Dev.to

5줄로 구현하는 Cache API 사용법

export default {
  async fetch(request) {
    const cache = caches.default;
    let response = await cache.match(request);
    if (!response) {
      response = await fetch(request);
      response = new Response(response.body, response);
      response.headers.set('Cache-Control', 'max-age=3600');
      await cache.put(request, response.clone());
    }
    return response;
  }
};

성능 영향

  • 캐시 적용 전: 모든 요청이 원본 서버에 도달 (지연 시간 200‑500 ms, CPU 사용량 높음).
  • 캐시 적용 후: 캐시된 요청은 10 ms 미만으로 반환되며, 히트율은 보통 70‑90 %이고 CPU 사용량이 최소화됩니다.
  • 내 API 예시:
    • P50 지연 시간: 450 ms → 15 ms
    • P95 지연 시간: 800 ms → 25 ms
    • 캐시 히트율: 85 %

모범 사례

  • GET 요청만 캐시합니다.
  • 적절한 TTL을 설정하세요 (예: 1시간을 의미하는 max-age=3600). 영구 캐시는 피합니다.
  • 서로 다른 변형(쿼리 파라미터, 헤더 등)에 대해 별도 캐시 키를 사용합니다.
  • 기본 데이터가 변경될 때는 캐시를 무효화하거나 업데이트합니다.

추가 자료

더 많은 성능 패턴을 확인하려면 전체 가이드를 참고하세요: https://appybot.gumroad.com/l/oatoe

Back to Blog

관련 글

더 보기 »