Caching — power on-by-default с footguns; Next 15 uncached-by-default снижает stale surprises.
Разбор
- On-by-default power, off-by-default footguns. Data + Full Route caches могут сделать dynamic app static и fast — или stale hours если forgot opt-in. Next 15 flip — меньше speed out-of-box, меньше «why stale?».
- Tag-based beats time-based когда correctness matters.
revalidate: 3600 — hour stale; revalidateTag('products') от mutation — correct and fast. On-demand first, time fallback.
- Когда НЕ cache: per-user или security-sensitive —
no-store или dynamic rendering. Shared cache user A → user B — real incident.
Итог
Prefer tags + explicit opt-in; never cache personalized/security-sensitive data shared.