Skip to solution
mediumSystem Design

What is the Data Cache in Next.js and how do you opt out of it?

988 views
01

Understand the problem

Persistent server-side cache for fetched data.

nextjsdata-cachecachingno-store
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

The Data Cache stores fetch results on the server across requests and deployments to avoid refetching. Opt out per fetch with cache: 'no-store', per segment with export const dynamic = 'force-dynamic' or revalidate = 0, so data is always fresh.

Solution ready — 2 min read

Classified // press E to declassify

04

Read the code

Cache DB reads; bypass for user data
import { unstable_cache } from 'next/cache';

// cache a non-fetch (DB) read in the Data Cache
const getProducts = unstable_cache(async () => db.product.findMany(),
  ['products'], { revalidate: 3600, tags: ['products'] });

// opt out for per-user data
const me = await fetch('/api/me', { cache: 'no-store' });
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 23 of 95 decoded in the Next.js track. One more won't hurt.

Back to track