The Full Route Cache

Server Cache for Prerendered HTML

The Full Route Cache

Static routes are stored as HTML and RSC payload at build time. This cache is what makes static pages cheap and instant.

4 min read Level 3/5 #nextjs#cache#full-route-cache
What you'll learn
  • Know that static = lives in the Full Route Cache
  • Revalidate to update it
  • Understand that a new deploy clears it entirely

The Full Route Cache is where prerendered routes live on the server. Anything next build produces with the static () or ISR () symbol is stored here.

What It Stores

Two artifacts per static route:

  • The HTML payload — what an HTTP request gets
  • The RSC payload — what a client-side navigation gets

Both come from the same render, so server and client navigations stay in sync.

When It Updates

  • On next build — every static route is regenerated
  • When ISR’s revalidate timer expires and a request comes in
  • When revalidatePath or revalidateTag invalidates an entry
  • On a new deployment — the cache is replaced wholesale

It Composes With the Data Cache

A static page’s fetch results are stored in the Data Cache. Those results feed into the prerender that lives in the Full Route Cache. If you revalidateTag('posts'), the Data Cache entries with that tag are dropped — and the next request to any page that depends on them re-runs the render and refreshes the Full Route Cache.

Why It Matters

Understanding the Full Route Cache is what makes Next’s caching feel less mysterious. Most “why is my page stale?” questions trace back to it: the data updated, but the prerendered HTML has not been invalidated yet.

Request Memoization →