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
syumai
September 24, 2026
Programming
80
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
210
go-spidermonkeyでAIエージェントのCode Modeを実装する
syumai
3
1.5k
作って学ぶ、 JSX (TSX) ランタイムの基本
syumai
7
1.9k
Oxlintのカスタムルールの現況
syumai
6
2.1k
Oxlintはいかにしてtsgolintのlint ruleを呼び出しているのか
syumai
2
1.6k
『[入門] Cloudflare Workers』本はなぜ誕生したのか
syumai
0
600
tsgolintはいかにしてtypescript-goの非公開APIを呼び出しているのか
syumai
9
3.3k
知られているようで知られていない JavaScriptの仕様 4選
syumai
3
1.3k
CloudflareのSandbox SDKを試してみた
syumai
0
1.1k
Other Decks in Programming
See All in Programming
フロントエンドUIフレームワークのこれまでとこれから
ssssota
5
2.9k
UPDATE をやめる — EF Core でマスタをバージョン管理する
panda728
PRO
0
310
動作中のプログラムの中身をリアルタイムに覗く / Realtime Debugger for CSharp with Roslyn
prota
1
830
テストを司るデーモンに会いに行く 〜隔離した仮想マシンでテストを通すまで〜
h1d3mun3
1
550
AIは賢い。でも実行環境は? CLIおじさんがAI時代に伝えたいこと ~ CLIおじさんがAI時代に伝えたいこと ~
curekoshimizu
1
250
選挙速報を多くのユーザーへ 届ける Live Activities 設計
hamayokokuririn
0
150
AI Agent時代のリアーキテクチャ戦略と実践
hokaccha
9
4.9k
AgentCore CLI で進化した AWS での AI エージェントの作り方 : 必要な機能を必要な時に
icoxfog417
PRO
3
360
世界の中心で、AI(App Intents)をさけぶ ー App Intents中心設計の実践ガイド
touyou
0
640
LoopHub - ローカルで動く GitHub で、AI と共同開発
jugyo
1
560
MVNOの申込からeSIM開通までをiOSアプリでつなぐ- 本人確認・MNP・通信事業者基盤をまたぐ実装
satotakeshi
0
450
『寄り添うラジオ』をAIで作る 体験価値から逆算した、会話しないUXと品質設計
theoriatec2024
3
180
Featured
See All Featured
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
520
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9.2k
RailsConf 2023
tenderlove
30
1.6k
Navigating Team Friction
lara
192
16k
SEO for Brand Visibility & Recognition
aleyda
0
4.7k
Scaling GitHub
holman
464
140k
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
2
430
[RailsConf 2023] Rails as a piece of cake
palkan
59
7k
Designing for Timeless Needs
cassininazir
1
480
Principles of Awesome APIs and How to Build Them.
keavy
128
18k
For a Future-Friendly Web
brad_frost
183
10k
The Pragmatic Product Professional
lauravandoore
37
7.4k
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