revalidateTag

revalidateTag ermöglicht es Ihnen, zwischengespeicherte Daten bei Bedarf für einen bestimmten Cache-Tag zu löschen.

Wissenswert:

  • revalidateTag ist in beiden Node.js- und Edge-Runtimes verfügbar.
  • revalidateTag invalidiert den Cache erst beim nächsten Aufruf des Pfads. Das bedeutet, dass der Aufruf von revalidateTag mit einem dynamischen Routensegment nicht sofort viele Revalidierungen auslöst. Die Invalidierung erfolgt erst beim nächsten Aufruf des Pfads.

Parameter

revalidateTag(tag: string): void;
  • tag: Eine Zeichenkette, die den Cache-Tag repräsentiert, der mit den zu revalidierenden Daten verknüpft ist. Muss 256 Zeichen oder weniger betragen.

Sie können Tags wie folgt zu fetch hinzufügen:

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

Rückgabewert

revalidateTag gibt keinen Wert zurück.

Beispiele

Server Action

'use server'

import { revalidateTag } from 'next/cache'

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

Route Handler

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() })
}