Less aggressive caching out of the box.
Skip to solutionKEEP THE
hardSystem Design
What changed about caching defaults in Next.js 15?
1.0k views
01
Understand the problem
nextjscachingnext-15defaults
02
Attempt it yourself
Sketch your approach before reading the solution — that's what interviews test.
Nudge consolestandby
Stuck? Beam a request up — the console returns a conceptual nudge that guides your logic without spoiling the implementation.
03
Study the solution
Next.js 15 made caching opt-in rather than aggressive-by-default: fetch and GET Route Handlers are no longer cached by default, and the client Router Cache no longer reuses page segments by default (staleTime 0). You opt into caching explicitly when you want it.
Solution ready — 2 min read
Classified // press E to declassify
04
Read the code
Opt back into caching in Next 15
// Next 15: fetch is NOT cached by default — opt in explicitly:
await fetch('/api/posts', { next: { revalidate: 60 } }); // ISR
await fetch('/api/config', { cache: 'force-cache' }); // persist
// Cache a GET Route Handler:
// app/api/posts/route.ts
export const dynamic = 'force-static';05
Join the discussion
Discussion (0)
Sign in to join the discussion.
No responses yet. Be the first to share what you think.
Transmission complete // awaiting log
KEEP THE
STREAK ALIVE.
Dossier 76 of 95 decoded in the Next.js track. One more won't hurt.