intermediate
ISR
Обновляйте static output после deployment через окна revalidation или явные триггеры invalidation.
ISR отдаёт кэшированные static pages и обновляет их в фоне после окна revalidation или on-demand триггера. Каталоги, меняющиеся несколько раз в день, но требующие глобальной скорости — частый кейс.
export const revalidate = 3600; // секунды
async function getProducts() {
return fetch('https://api.example.com/products', { next: { revalidate: 3600 } });
}
Пользователи могут кратко видеть устаревший контент — задайте допустимую freshness и следите за возрастом кэша.
На интервью: ISR против SSR для того же каталога и on-demand revalidation после правок админки.
Типовые ошибки: ISR без плана revalidation после мутаций, нулевой revalidate как «вечный кэш», игнорирование региональной CDN variance.
Компромисс: скорость по миру против ограниченного staleness.
Чеклист:
- revalidate на маршрут или fetch.
- On-demand revalidation после записей.
- Документируйте допустимый staleness.
- Поведение первого посетителя после deploy.