Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Workers Cache を知る

Avatar for syumai syumai
September 24, 2026

Workers Cache を知る

「Cloudflare Workers実践LT 〜移行から運用、コストの話まで〜」の発表資料です!
https://findy.connpass.com/event/405562/

Avatar for syumai

syumai

September 24, 2026

More Decks by syumai

Other Decks in Programming

Transcript

  1. zoneに縛られない 従来のCache APIはzoneごと Cache Rules、Page Rules、拡張子リスト etc. Workerはzoneの設定に合わせるか、Cache自体を回避するかのどちらかだった Workers CacheはWorkerごと

    zoneの設定は一切適用されない Workerのレスポンスの Cache-Control ヘッダーで制御 なんならWorker entrypointごとでも制御可能 © LayerX Inc. 17
  2. service binding Client Cache Worker A のCache © LayerX Inc.

    Worker A Cache Worker B Data source (DBなど) Worker B のCache 20
  3. 応用: Worker内でのCache分離 Workers CacheはすべてのWorker entrypointの手前に立つ default export、名前付き WorkerEntrypoint のどちらも対象 ctx.exports

    経由の同一Worker内の呼び出しも対象 WorkerEntrypoint を分けることで、Worker内でも部分的にCacheを活用可能 認証する外側はCacheせず、重い内側だけCacheする、など © LayerX Inc. 22
  4. async stale-while-revalidate 期限切れ後も、ユーザーを待たせずに裏で更新できる Fresh期間 ( max-age ): Cacheが応答。Workerは未実行 Stale期間 (

    stale-while-revalidate ) stale応答を即返す ( Cf-Cache-Status: UPDATING ) 裏でWorkerが更新するので、誰も待たない 両方の期間の外: Workerが実行され、ユーザーが待つ 2月にCloudflareのzone Cacheでサポートされたものと同じものが使える https://developers.cloudflare.com/changelog/post/2026-02-26-async-stale-while-revalidate/ © LayerX Inc. 32
  5. 実測値からの補足 Cache API利用時と、Workers Cache利用時でCacheの振る舞いは基本的に同じだった Varyの解釈は異なった Workers Cache はVaryを自動でRFC準拠、CDNはopt-in設定が必要 HTTP Status

    200のレスポンスのheuristic Cacheにはいずれも2時間のデフォルトTTLを仕様 Statusごとには異なっている部分も多い Workers Cache側の記載: 200, 203, 204 レスポンス -> 2時間 Cache API側の記載: 200, 206, 301 レスポンス -> 2時間 その他詳細は下記URLのレポートに記載しています https://github.com/syumai/research-cf-workers-cache © LayerX Inc. 35
  6. 料金 結果 HIT (Worker未実行) MISS / BYPASS リクエスト 標準 標準

    CPU 課金なし 課金あり ※注意: static assets・Worker間呼び出しも課金対象になる いずれもWorkerの手前のCacheを参照するようになるため © LayerX Inc. 36