Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Workers Cache を知る
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
syumai
September 24, 2026
Programming
340
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Workers Cache を知る
「Cloudflare Workers実践LT 〜移行から運用、コストの話まで〜」の発表資料です!
https://findy.connpass.com/event/405562/
syumai
September 24, 2026
More Decks by syumai
See All by syumai
自分的「カンファレンスの楽しみ方」
syumai
0
220
go-spidermonkeyでAIエージェントのCode Modeを実装する
syumai
3
1.6k
作って学ぶ、 JSX (TSX) ランタイムの基本
syumai
7
2k
Oxlintのカスタムルールの現況
syumai
6
2.1k
Oxlintはいかにしてtsgolintのlint ruleを呼び出しているのか
syumai
2
1.6k
『[入門] Cloudflare Workers』本はなぜ誕生したのか
syumai
0
640
tsgolintはいかにしてtypescript-goの非公開APIを呼び出しているのか
syumai
9
3.4k
知られているようで知られていない JavaScriptの仕様 4選
syumai
3
1.3k
CloudflareのSandbox SDKを試してみた
syumai
0
1.1k
Other Decks in Programming
See All in Programming
速く作れる。その次は、速く確かめられる開発へ 〜AIネイティブ開発を支える、Shift Down〜 / Can build fast. Next, moving to development where we can verify fast.
rkaga
8
5.5k
AIに “答え“を書かせるのを やめてみた
___akari11
0
110
Domain-Driven Transformation
hschwentner
2
2.3k
AWSに止められる覚悟してますか?
morizo_1984
2
520
iOS 27でニュースアプリはどう変わる!? 〜日経電子版の新機能対応と、開発事例から〜
lynnswap
7
13k
すこし踏み込む CancellationToken
htkym
2
1.6k
そのリトライ、死んだコネクションを使い回していませんか ── GoのHTTPクライアントとHTTP/2を実プロダクト障害から学び直す
myus4a
0
390
技術的負債の返済は、AI時代の複利で効く投資 — 経営としての意思決定とその遂行
curekoshimizu
1
2.2k
Streamlitで実現する自然言語データアプリ開発
ayumu_yamaguchi
1
340
外から家のPCの電源入れたい!をPHPで解決する
kawashimo0
1
110
Are APIs Still Relevant in the AI Era?
soyuka
0
430
Apple Intelligence を用いた個人情報誤送信防止、及びユーザーリクエスト体験の改善について
yukiny
0
320
Featured
See All Featured
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
540
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
123
22k
Bootstrapping a Software Product
garrettdimon
PRO
306
120k
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
69
66k
Why Mistakes Are the Best Teachers: Turning Failure into a Pathway for Growth
auna
0
320
Evolving SEO for Evolving Search Engines
ryanjones
0
310
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
760
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
970
[Rails World 2026] Durable orchestration on Rails: from continuation to workflow
palkan
1
490
Being A Developer After 40
akosma
91
590k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
18k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
31k
Transcript
Workers Cache を知る 2026-9-24 TECH BATON in 東京 〜 Cloudflare
Workers実践LT 〜 @syumai
whoami syumai LayerX ソフトウェアエンジニア バクラクヘルプデスク エージェントを開発中 『[入門] Cloudflare Workers』著者 Asakusa.go
/ ECMAScript 仕様輪読会 主催 X: @__syumai Website: https://syum.ai © LayerX Inc.
今日話すこと Workers Cacheとは? 設定方法 従来のCache APIとの違い Workers Cacheの最大の特徴 zoneに縛られない その他の特徴
2段階Cache、async SWRなど 料金 © LayerX Inc. 3
Workers Cacheとは?
Workers Cacheとは? 2026年7月にリリースされた、Workerの裏側ではなく、表側にあるCache https://blog.cloudflare.com/workers-cache/ Workerごとに前段にCacheを立てられる Cache HITすると、Worker自体が呼ばれない レンダリングもDBアクセスも走らない CPU時間の課金も発生しない ©
LayerX Inc. 5
従来のCache API https://blog.cloudflare.com/workers-cache/ © LayerX Inc. 6
Workers Cache https://blog.cloudflare.com/workers-cache/ © LayerX Inc. 7
従来のCache APIの使い方
従来のCache APIの使い方 Cacheを引くのもWorkerの仕事なので、Workerは毎回実行される Cache HITでもCPU時間の課金が発生する zoneの設定が必要 では動作しない 独自ドメインの設定が必要 workers.dev ©
LayerX Inc. 9
従来のCache APIの使い方 Workerのコード内から caches.default を明示的に呼んでいた → これが不要に! © LayerX Inc.
10
Workers Cacheの設定方法
Workers Cacheの設定方法 wrangler.jsonc © LayerX Inc. に cache 設定を追加するだけ 12
Workers Cacheの使い方 Cacheの制御は Cache-Control などのレスポンスヘッダーで行う HTTP Cachingの仕様に沿った仕組み © LayerX Inc.
13
Workers Cacheの使い方 パージもWorkerのコードから呼ぶ Cache-Tag やパスのプレフィックスを指定できる ※ パージはWorker entrypointにスコープされる zoneの他のコンテンツを消し飛ばす心配がない ©
LayerX Inc. 14
Workers Cacheの最大の特徴
zoneに縛られない
zoneに縛られない 従来のCache APIはzoneごと Cache Rules、Page Rules、拡張子リスト etc. Workerはzoneの設定に合わせるか、Cache自体を回避するかのどちらかだった Workers CacheはWorkerごと
zoneの設定は一切適用されない Workerのレスポンスの Cache-Control ヘッダーで制御 なんならWorker entrypointごとでも制御可能 © LayerX Inc. 17
「Workerごとに前段にCacheが立つ」 とはどういうことか?
「Workerごとに前段にCacheが立つ」とはどういうことか? workers.dev ドメインでもCacheが効く プレビューURL、Workers for Platformsのテナントでも効く 複数zoneでCacheを共有できる Cacheはhostnameではなく、Workerに対してつく api.example.com と
api.example.net で1つのCacheを共有できる Service bindingsの前段でもCacheが効く © LayerX Inc. 19
service binding Client Cache Worker A のCache © LayerX Inc.
Worker A Cache Worker B Data source (DBなど) Worker B のCache 20
応用: Worker内でのCache分離
応用: Worker内でのCache分離 Workers CacheはすべてのWorker entrypointの手前に立つ default export、名前付き WorkerEntrypoint のどちらも対象 ctx.exports
経由の同一Worker内の呼び出しも対象 WorkerEntrypoint を分けることで、Worker内でも部分的にCacheを活用可能 認証する外側はCacheせず、重い内側だけCacheする、など © LayerX Inc. 22
Worker内でのCache分離の例
Worker内でのCache分離の例 どのentrypointをCacheするかは exports マップで指定する © LayerX Inc. 24
Worker内でのCache分離の例 外側: 認証処理だけ行って、リクエストを内側に流す 毎回実行される © LayerX Inc. 25
Worker内でのCache分離の例 内側: 重い処理。Cacheがこの手前に立つのでCache HIT時は実行されない © LayerX Inc. 26
その他の特徴
その他の特徴 2段階Cache 非公開コンテンツのキャッシュ ( ctx.props ) async stale-while-revalidate Vary ©
LayerX Inc. 28
2段階Cache 世界のどこかで1度Cacheがstoreされたら、全データセンターがそのCacheを配信でき る仕組み Workerの実行回数を最小化できる Cacheが2つのtierに分かれている lower tier: ユーザーに最も近いデータセンターのCache upper tier:
ネットワーク全体のfillを集約する層 設定不要で使える © LayerX Inc. 29
https://blog.cloudflare.com/workers-cache/ © LayerX Inc. 30
非公開コンテンツのキャッシュ ( ctx.props ) 呼び出し側のWorkerが渡す ctx.props がキャッシュキーの一部になる props の値ごとに別のCacheエントリが作られる ユーザーAのための応答がユーザーBに漏れることがない
従来、認証付きのコンテンツはキャッシュ不可だった → ユーザーごとに分離してキャッシュ可能に © LayerX Inc. 31
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
https://blog.cloudflare.com/workers-cache/ © LayerX Inc. 33
Vary 1つのURLに複数の表現がある場合に、ヘッダ値ごとに別バリアントを保存できる Cloudflareのzone Cacheでは、9月22日にCache Rulesを使って指定できるようになっ たばかり © LayerX Inc. https://blog.cloudflare.com/vary-support/
34
実測値からの補足 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
料金 結果 HIT (Worker未実行) MISS / BYPASS リクエスト 標準 標準
CPU 課金なし 課金あり ※注意: static assets・Worker間呼び出しも課金対象になる いずれもWorkerの手前のCacheを参照するようになるため © LayerX Inc. 36
まとめ Workers Cacheは、Workerの前段に立つCache Cache HIT時はWorker自体が実行されない への設定追加と Cache-Control ヘッダの指定だけで使える zoneではなくWorkerにつくので、 workers.dev
でもService bindingsの前段でも効く Worker entrypoint単位でCacheを分離できる wrangler.jsonc © LayerX Inc. 37