원본 링크: https://nextjs.org/docs/app/api-reference/functions/revalidateTag
위 문서에 대한 번역을 진행합니다.
번역시점은 05-23으로 공식문서의 추가적인 업데이트가 있을 수 있습니다.
DeepL translator와 ChatGPT에 의존해서 번역하고 있습니다.
번역체를 자연스러운 어투로 옮기는 과정에서 오역이 발생할 수 있는 점 미리 알립니다.
이에 대한 피드백은 댓글로 알려주시면 감사하겠습니다.
한글로 번역하는 것이 더 어색한 경우 원문을 먼저 표기하겠습니다.
revalidateTag
revalidateTag 를 사용하면 특정 캐시 태그와 관련된 데이터를 재검증할 수 있습니다. 이 기능은 재검증 기간이 만료될 때까지 기다리지 않고 캐시된 데이터를 업데이트하려는 시나리오에 유용합니다.
// app/api/revalidate/route.js
import { NextResponse, revalidateTag } from 'next/server';
export async function GET(request) {
const tag = request.nextUrl.searchParams.get('tag');
revalidateTag(tag);
return NextResponse.json({ revalidated: true, now: Date.now() });
}
알아두면 유용합니다:
- revalidateTag 는 Node.js and Edge runtimes 모두에서 사용할 수 있습니다.
Parameters
revalidateTag(tag: string): void;
- tag: 재검증하려는 데이터와 연결된 캐시 태그를 나타내는 문자열입니다.
다음과 같이 fetch 에 태그를 추가할 수 있습니다 :
fetch(url, { next: { tags: [...] } });
Returns
revalidateTag 는 어떠한 값도 반환하지 않습니다.
Examples
Node.js Runtime
// app/api/revalidate/route.js
import { NextResponse } from 'next/server';
import { revalidateTag } from 'next/cache';
export async function GET(request) {
const tag = request.nextUrl.searchParams.get('tag');
revalidateTag(tag);
return NextResponse.json({ revalidated: true, now: Date.now() });
}
Edge Runtime
// app/api/revalidate/route.js
import { NextResponse } from 'next/server';
import { revalidateTag } from 'next/cache';
export const runtime = 'edge';
export async function GET(request) {
const tag = request.nextUrl.searchParams.get('tag');
revalidateTag(tag);
return NextResponse.json({ revalidated: true, now: Date.now() });
}