nextjs-caching
Installation
SKILL.md
Caching Architecture
Priority: P1 (HIGH)
Next.js has 4 distinct caching layers. Understanding them prevents stale data bugs.
Implementation Guidelines
- Next.js 15+ Standard: Use
fetchwithrevalidate: numberorcache: 'force-cache'for API calls. Useunstable_cacheor the new'use cache'(experimental) for custom data stores. - Layers: Distinguish between Data Cache (persistent across requests) and Request Memoization (React's lifecycle specific). Use
cache()from React to deduplicate fetches within a single render. - Invalidation: Use
revalidatePath('/')after mutations orrevalidateTag('tag-name')for granular cache purging. - Client Cache: Understand the Router Cache (in-memory on client) and its 30s-min lifespan. Clear it using
router.refresh(). - Static Assets: Leverage
generateStaticParamsfor pre-rendering static routes at build time. Use ISR (Incremental Static Regeneration) for content that updates periodically. - Streaming: Combine
Suspensewithfetchtriggers to prevent slow data from blocking the entire page render. - Next.js 16+: Favor
'use cache'andcacheLife()overrevalidate: numberwhere available for deterministic caching.