Explain the 4 layers of caching in Next.js.
- Request Memoization: De-duplicates fetch requests within a single render pass.
- Data Cache: Persists fetch results across requests (server-side).
- Full Route Cache: Caches the HTML/RSC payload at build time (static).
- Router Cache: Client-side cache of visited routes for instant navigation.