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
Next.js 16の新機能 Cache Components について
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
sutetotanuki
December 23, 2025
Technology
760
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Next.js 16の新機能 Cache Components について
sutetotanuki
December 23, 2025
More Decks by sutetotanuki
See All by sutetotanuki
【登壇資料】AIエージェントに買い物をさせる ― Universal Commerce Protocol(UCP)の紹介」というタイトルで DevelopersIO 2026 Osaka Day 2
sutetotanuki
0
350
数案件を同時に進行するためのコンテキスト整理術
sutetotanuki
2
510
高速開発のためのコード整理術
sutetotanuki
1
1.1k
Vercel AI SDK を使って Next.js で AIアプリケーションを 作成する方法のご紹介
sutetotanuki
0
2k
WEBエンジニア向けAI活用入門
sutetotanuki
0
1.1k
ブラウザ上で実行され、 AIアシスタント付きデータベース postgres.new を触ってみた
sutetotanuki
0
640
今時のCookie事情
sutetotanuki
0
800
高速案件立ち上げで使われるマッハテンプレートのフロントエンド技術選定
sutetotanuki
2
2.2k
Core Web Vitals を改善する Next.js の機能群
sutetotanuki
1
2.8k
Other Decks in Technology
See All in Technology
AIカンパニーへの転換を支えた、エンジニアの仕事の再定義
kworkdev
PRO
2
1.2k
二歩目のフロントエンド・ウェブアクセシビリティ
camiha
2
570
アウトプット初心者、半年間のふりかえり
4o1sobblue
0
430
AI駆動で「他アプリの音を加工できる」アプリを作った
satomasahiro2005
0
150
NDIでApple Vision Proにリアルタイム映像送信
jyouryuusui
0
120
AIがコードを書く時代に、エンジニアは何で自分の価値を証明するのか / In an era where AI writes code how do engineers prove their value
carta_engineering
3
1.1k
Metadata - Section 1: HTML Basics
mohab1
0
120
パッチ更新でterraform initが落ちた日
grimoh
1
140
Gemini Intelligence 入門 ― AppFunctions と Gemini Nano
takuroabe
0
250
re:Invent初参加で変わったこと、2回目にやってみたいこと(JAWS-UG彩の国埼玉 #12)
mhrtech
2
220
10年後、Engineering 行為を剥奪されるとして、わたしたちは、どう、何を創ればいいだろうか。 / If Engineering Is Taken Away in 10 Years, How and What Should We Create?
bitkey
PRO
1
190
遠藤な_めぐろLT #38 「社内のAI活用推進」@麻布台_20261009
endonanana
0
130
Featured
See All Featured
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
300
Building a Scalable Design System with Sketch
lauravandoore
464
34k
AI Search: Where Are We & What Can We Do About It?
aleyda
0
8.1k
Agile Actions for Facilitating Distributed Teams - ADO2019
mkilby
0
310
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
730
YesSQL, Process and Tooling at Scale
rocio
174
15k
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
2
730
Design in an AI World
tapps
1
350
sira's awesome portfolio website redesign presentation
elsirapls
0
450
Bash Introduction
62gerente
615
220k
Being A Developer After 40
akosma
92
590k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
Transcript
Next.js 16の新機能 Cache Components について 1
2 自己紹介 西田将幸 クラスメソッド リテールアプリ共創部 マッハチーム エンジニアとして働いてます 主にバックエンドでフロントエンドFlutterと薄く広くやってます
3 全体の流れ 1. Cache Componentsとは? 2. Cache Componentsの仕組み 3. 自作した
CloudFront + SSG の構成との比較
4 Cache Componentsとは?
5 Cache Componentsとは? • Next 16 で正式に採用された機能 • 1つのページにキャッシュさせた静的コンテンツと 動的コンテンツを共存させることができる
6 静的な要素と動的な要素が混在 全ユーザー共通のキャッ シュしても問題ない静的な 要素 と ユーザー固有の動的な要 素が1つのページに混在 してる
7 使い所の例 1. ECサイト ◦ 商品ページは全てのユーザーで共通なのでキャッシュしたい が、ヘッダにはログインしたユーザー名やカート情報など、 ユーザー特有の情報を表示させたい 2. 会員制のブログ
◦ コンテンツ自体は全てのユーザーで共通だが、ユーザーのプ ロフィールがサイドバーに表示されている
8 準備 next.config.ts で cacheComponents を true を設定
9 使い方 “use cache” ディレクティブを宣言する
10 useCache を指定できる範囲 • コンポーネント • 関数 • ページ
11 今までのキャッシュとの違い 1. いままでのキャッシュ ◦ fetch関数がデフォルトでキャッシュ キャッシュさせたくない場合は明示的にオプトアウト 2. “use cache”
以降のキャッシュ ◦ “use cache” ディレクティブが宣言されたところが キャッシュされる。オプトイン
12 Suspenseで動的部分を囲う 動的な部分は <Suspense> で囲う
13 Suspenseで動的部分を囲う
14 cacheLife cacheLifeでcacheの有効期限を設定
15 cacheLifeのオプション cacheLifeのオプション プロファイル ユースケース stale revalidate expire default 標準コンテンツ
5分 15分 1年 seconds リアルタイムデータ 30秒 1秒 1分 minutes 頻繁に更新されるコンテンツ 5分 1分 1時間 hours 1日に複数回更新されるコンテンツ 5分 1時間 1日 days 毎日更新されるコンテンツ 5分 1日 1週間 weeks 毎週更新されるコンテンツ 5分 1週間 30日 max ほとんど変更されない安定したコンテンツ 5分 30日 1年
16 cacheLifeのオプション
17 updateTag, revalidateTag 明示的にキャッシュを削除する時はupdateTag, revalidateTag を使う 例えばコンテンツを更新するような操作が行われときに明示 的にキャッシュをクリアします
18 updateTag, revalidateTag キャッシュにタグ名を設定し タグ名を指定してキャッシュを削除
19 use cache: remote キャッシュをサーバーに残す指定
20 use cache: private キャッシュをサーバーのメモリに残さない指定
21 React の Activity React 19 で使えるようになったコンポーネントで unmount さ れても状態を保持する
22 Next.js のクライアントナビゲーションで状態保持 next.config で cacheComopnents が true になってる場合、ク ライアントナビゲーションで画面遷移しても
ステートの値が保持されます
23 Cache Componentsの仕組み
24 Application Shell Architecture あらかじめサーバからはスケルトンのHTML,CSS,JSを アプリに返却し高速に初期表示を行い、 後から動的なコンテンツを注入する手法 高速な初期表示と動的な要素の表示を実現する方法
25 Application Shell Architecture
26 use cacheのコンテンツは静的シェルに含められる “use cache” を宣言されたコンテンツは、 キャッシュされ静的シェルに含められる
27 use cacheのコンテンツは静的シェルに含められる “use cache” されたコンテン ツは静的シェルに含められ るので初回表示は遅くなる 2回目位以降は高速
28 RSCペイロード React Server Component ペイロード サーバーでレンダリングされた情報をシリアライズ それをクライアントで組み立てる クライアントナビゲーションで画面遷移した際は RSC
Payload のみクライアントに送信 “use cache” されてない動的要素は RSC で送信される
29 use cacheのコンテンツは静的シェルに含められる 静的シェルの後に RSCペイロードを送信 その間 Suspense の fallbackが表示
30 自作した CloudFront + SSG の構成との比較
31 同じような目的で自作した構成 • 1つのNext.jsだけで 構成 • S3 + CFで WEBホスティング
• API Routes で動的 要素をAPIで提供
32 自作した構成 • 事前にStatic ExportしたHTML,CSS,JSをS3 + CloudFront で WEBホスティング •
動的な情報を返却するAPIを提供する App Runner でデプ ロイ • 静的なコンテンツはビルドして、動的なコンテンツは useEffect を使ってデータ取得(useEffectの処理はクライア ント側で実行される)
33 AWSでNext.jsシンプルに動かす構成 • ALB + Fargate
34 自作した構成 • “use cache” キャッシュされたコンテンツはサーバー上のメ モリにキャッシュされる • キャッシュされたコンテンツもサーバーで処理する •
Cloud Front + S3 の低コストで安定したキャッシュは出来な い
35 Vercelで動かすと...? • おそらく、静的シェルはエッジにキャッシュされる? • 高速に動くし、安定稼働は期待できそう...? • コストは自作より高くなるかも...?
36 まとめ
37 まとめ • “use cache” ディレクティブでオプトインのキャッシュができ るように • 1ページに静的、動的なコンテンツが両方あるけど 高速表示したい時に使える
プロダクトの0→1⽴ち上げ 専⾨チーム ⼀緒に働く仲間を募集...! モダンな技術スタックを積極採用 • Hono, V0, Claude Code… 顧客と0距離
• プリセールス ~MVPリリースまで • 顧客対応も 2~3名の小規模チームで高速開発 • 1案件 2~6ヶ月 • マッハで経験が積める 📢マッハチーム 絶賛募集中
39