Capítulo 177 de 456
Invalida dados cacheados sob demanda por tag, aplicando-se a todas as páginas que usam essa tag; ideal para conteúdo onde um pequeno delay na atualização é aceitável.
tag string até 256 chars, case-sensitive. profile recomendado é "max" (stale-while-revalidate: serve conteúdo stale enquanto busca fresco em background) ou um profile customizado de cacheLife, ou objeto { expire }.revalidateTag(tag) sem profile expira imediatamente (bloqueante) — migre para o formato com dois argumentos.fetch(url, { next: { tags: ['posts'] } }) ou cacheTag('posts') dentro de função com 'use cache'.// app/actions.ts
'use server'
import { revalidateTag } from 'next/cache'
export default async function submit() {
await addPost()
revalidateTag('posts', 'max')
}
profile="max" para stale-while-revalidate.import { cacheTag } from 'next/cache'
async function getData() {
'use cache'
cacheTag('posts')
}
cacheTag.// Route Handler chamado por webhook externo que precisa de expiração imediata
revalidateTag(tag, { expire: 0 })
| Parameter | Type | Description |
|---|---|---|
tag | string (máx 256 chars) | tag associada aos dados a invalidar |
profile | string | { expire?: number } | "max" (recomendado) ou profile de cacheLife, ou objeto de expiração |
updateTag para esse caso; revalidateTag é para delay aceitável.profile="max" é a recomendação padrão: stale-while-revalidate, sem rajada de revalidações simultâneas.{ expire: 0 }.'use cache'.