Next.js, no-store vs force-cache
В App Router кэширование часто начинает раздражать, когда не понятно, что именно сейчас происходит с данными. На одном маршруте страница может пересчитываться заново, но данные при этом оставаются прежними. Здесь и полезно развести два режима. no-store означает, что Next.js запрашивает данные заново на каждый запрос. force-cache означает, что ответ может переиспользоваться из кэша, если Next считает его подходящим.
Разница вполне прикладная. Для баланса, статусов и других чувствительных данных нужен no-store. Для справочников, каталогов и данных, которые не обязаны обновляться на каждый заход, чаще подходит force-cache.
Полезность в том, чтобы перестать воспринимать кэш как фон. В Next.js это обычное инженерное решение по свежести данных, нагрузке и предсказуемости поведения страницы.
Статья на Хабр Проект: Goods Finder Stepik: Next.js I: JavaScript 2026
#nextjs #AppRouter #caching #nostore #forcecache #datacache #servercomponents #react #javascript #webdev
· 11.05
Столкнулись с тем что force-cache начинал отдавать устаревшие данные после деплоя. Решили через revalidateTag на конкретные теги вместо глобальных настроек. Теперь каждый тип данных живёт сколько нужно и инвалидируется точечно. Немного сложнее в поддержке но предсказуемее.
ответить
коммент удалён
· 11.05
Точечная инвалидация через revalidateTag совершено согласен. Глобальные настройки вроде force-cache хороши для старта, но после деплоя начинают жить своей жизнью. Теги дают контроль, что поменялось на бэке, вызываете revalidateTag и получаете свежие данные без тотальной очистки кэша
ответить
ответ удалён