Cache Components — це модель Next.js 16 для вибору окремих компонентів для кешування за допомогою директиви "use cache" плюс примітивів cacheLife і cacheTag, що дозволяє здійснювати детальний контроль кешу.
Увімкнена з cacheComponents: true у next.config.ts, модель дозволяє розробникам позначати конкретні серверні компоненти або функції отримання даних як кешовані:
async function getProduct(slug: string) {
"use cache";
cacheLife("hours");
cacheTag(`product:${slug}`);
return db.query.products.findFirst({ where: { slug } });
}Недійсність кешу відбувається через теги: виклик revalidateTag("product:leather-bag") недійснить кожен кешований запис, позначений цим тегом, незалежно від того, де в додатку він був кешований. Це добре поєднується з сервісами мутацій, які вже знають, з якими сутностями вони працюють.
Для електронної комерції Cache Components вирішує давнє напруження між "кешувати все для швидкості" і "показувати свіжі дані для точності." Контент каталогу кешується агресивно (години до днів), тоді як контент, специфічний для користувача (кошик, нещодавно переглянуте), обчислюється за запитом. PPR об'єднує це в єдину узгоджену відповідь.