advanced

Revalidation

Обновляйте устаревший кэшированный контент по времени, path, tag, мутации, deploy или явному операционному триггеру.

Revalidation обновляет кэшированные данные или маршруты по интервалу времени, on-demand invalidation path или cache tags, привязанным к сущностям. `revalidatePath`, `revalidateTag` и `next.tags` в fetch связывают записи с чтениями.

					import { revalidateTag } from 'next/cache';

export async function updatePost(id: string) {
  await savePost(id);
  revalidateTag('posts');
}
				

Операционные триггеры: webhooks, действия админки и deploy pipelines — не только time-based окна.

На интервью: invalidation при правке CMS, затрагивающей listing и detail pages.

Типовые ошибки: fetch без тегов, слишком широкий path revalidation, нет мониторинга жалоб на stale.

Компромисс: точная invalidation против blast-radius path-based очистки.

Чеклист:

  • Тегируйте fetch с общим scope invalidation.
  • Revalidate после успешных мутаций.
  • Теги вместо сноса всего сайта.
  • Логируйте revalidation в admin workflows.