revalidateTag

revalidateTag permite purgar datos en caché bajo demanda para una etiqueta de caché específica.

Es bueno saber:

  • revalidateTag está disponible tanto en los entornos de ejecución Node.js y Edge.
  • revalidateTag solo invalida la caché cuando la ruta es visitada nuevamente. Esto significa que llamar a revalidateTag con un segmento de ruta dinámica no activará inmediatamente muchas revalidaciones a la vez. La invalidación solo ocurre cuando la ruta es visitada nuevamente.

Parámetros

revalidateTag(tag: string): void;
  • tag: Una cadena que representa la etiqueta de caché asociada con los datos que deseas revalidar. Debe tener 256 caracteres o menos.

Puedes agregar etiquetas a fetch de la siguiente manera:

fetch(url, { next: { tags: [...] } });

Retorno

revalidateTag no retorna ningún valor.

Ejemplos

Acción de Servidor

'use server'

import { revalidateTag } from 'next/cache'

export default async function submit() {
  await addPost()
  revalidateTag('posts')
}

Manejador de Ruta

import { NextRequest } from 'next/server'
import { revalidateTag } from 'next/cache'

export async function GET(request: NextRequest) {
  const tag = request.nextUrl.searchParams.get('tag')
  revalidateTag(tag)
  return Response.json({ revalidated: true, now: Date.now() })
}
import { revalidateTag } from 'next/cache'

export async function GET(request) {
  const tag = request.nextUrl.searchParams.get('tag')
  revalidateTag(tag)
  return Response.json({ revalidated: true, now: Date.now() })
}