revalidateTag

revalidateTag belirli bir önbellek etiketi için önbelleğe alınmış verileri isteğe bağlı olarak temizlemenizi sağlar.

Bildiğim iyi oldu:

  • revalidateTag hem Node.js hem de Edge çalışma zamanlarında kullanılabilir.
  • revalidateTag önbelleği yalnızca yol bir sonraki ziyaretinde geçersiz kılar. Bu, dinamik bir rota segmentiyle revalidateTag adresinin çağrılmasının aynı anda birçok yeniden doğrulamayı tetiklemeyeceği anlamına gelir. Geçersiz kılma yalnızca yol bir sonraki ziyaret edildiğinde gerçekleşir.

Parameters

revalidateTag(tag: string): void;

fetch adresine aşağıdaki şekilde etiket ekleyebilirsiniz:

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

Returns

revalidateTag herhangi bir değer döndürmez.

Examples

Server Action

app/actions.ts
'use server'
 
import { revalidateTag } from 'next/cache'
 
export default async function submit() {
  await addPost()
  revalidateTag('posts')
}

Route Handler

app/api/revalidate/route.ts
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() })
}