メインコンテンツまでスキップ

unstable_expireTag

unstable_expireTag は、特定のキャッシュタグに対してオンデマンドでキャッシュされたデータをパージすることができます。

Good to know:

  • unstable_expireTag は、Node.js および Edge ランタイムの両方で利用可能です。
  • unstable_expireTag は、パスが次に訪問されたときにのみキャッシュを無効にします。つまり、unstable_expireTag を dynamic route segment で呼び出しても、すぐに多くの無効化が一度にトリガーされるわけではありません。無効化は、パスが次に訪問されたときにのみ発生します。

リファレンス

パラメータ

unstable_expireTag(...tags: string[]): void;
  • tags: 再検証したいデータに関連付けられたキャッシュタグを表す文字列引数。各タグは256文字以下である必要があります。この値は大文字と小文字を区別します。

fetch にタグを追加する方法は次のとおりです:

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

戻り値

unstable_expireTag は値を返しません。

Server Action

Server Action で unstable_expireTag を呼び出すことができます:

app/actions.ts
'use server'

import { unstable_expireTag } from 'next/cache'

export default async function submit() {
await addPost()
unstable_expireTag('posts', 'blog')
}

Route Handler

Route Handler で unstable_expireTag を呼び出すことができます:

app/api/revalidate/route.ts
import type { NextRequest } from 'next/server'
import { unstable_expireTag } from 'next/cache'

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