nextjs-caching

Installation
SKILL.md

Caching Architecture

Priority: P1 (HIGH)

Decision Map

  • HTTP reads: start with fetch cache controls (force-cache, no-store, next.revalidate, tags). For content updated a few times per day, ISR with revalidate is often the right default.
  • Custom function/component caching: prefer use cache with cacheLife() and cacheTag() when the project uses cache components.
  • Per-render dedupe: use React cache() for repeated server reads in one render pass.
  • Mutation invalidation: revalidateTag() for data ownership, revalidatePath() for route-level refresh, router.refresh() for client view refresh after mutation.

Recipe

  1. Classify the read: static, periodically fresh, request-specific, or user-specific.
  2. Pick the narrowest cache: request memoization before persistent cache, tag invalidation before path-wide invalidation.
  3. Tag what mutates together: align tags with data ownership, not page names by habit.
  4. Keep personal data private: avoid broad route caching for request-specific state.
  5. Test stale paths: mutation -> invalidation -> refreshed UI.

Verify

Installs
2
GitHub Stars
581
First Seen
Jun 24, 2026