cacheLife

Die Option cacheLife ermöglicht es Ihnen, benutzerdefinierte Cache-Profile zu definieren, wenn Sie die cacheLife-Funktion in Komponenten oder Funktionen sowie im Geltungsbereich der use cache-Direktive verwenden.

Verwendung

Um ein Profil zu definieren, aktivieren Sie das dynamicIO-Flag und fügen Sie das Cache-Profil im cacheLife-Objekt in der next.config.js-Datei hinzu. Beispiel für ein blog-Profil:

import type { NextConfig } from 'next'

const nextConfig: NextConfig = {
  experimental: {
    dynamicIO: true,
    cacheLife: {
      blog: {
        stale: 3600, // 1 Stunde
        revalidate: 900, // 15 Minuten
        expire: 86400, // 1 Tag
      },
    },
  },
}

export default nextConfig

Sie können diese benutzerdefinierte blog-Konfiguration nun wie folgt in Ihrer Komponente oder Funktion verwenden:

import { unstable_cacheLife as cacheLife } from 'next/cache'

export async function getCachedData() {
  'use cache'
  cacheLife('blog')
  const data = await fetch('/api/data')
  return data
}

Referenz

Das Konfigurationsobjekt hat Schlüsselwerte mit folgendem Format:

EigenschaftWertBeschreibungAnforderung
stalenumberDauer, für die der Client einen Wert zwischenspeichern soll, ohne den Server zu überprüfen.Optional
revalidatenumberHäufigkeit, mit der der Cache auf dem Server aktualisiert werden soll; veraltete Werte können während der Aktualisierung bereitgestellt werden.Optional
expirenumberMaximale Dauer, für die ein Wert veraltet bleiben kann, bevor auf dynamisch umgeschaltet wird.Optional - Muss länger sein als revalidate

On this page