Menu

cacheLife

Die Option cacheLife ermöglicht es Ihnen, benutzerdefinierte Konfigurationen zu definieren, wenn Sie die cacheLife-Funktion mit der use cache-Direktive auf Komponenten-, Funktions- oder Dateiebene verwenden, um eine differenziertere Kontrolle über das Caching zu erhalten.

Verwendung

Um cacheLife zu verwenden, aktivieren Sie das dynamicIO-Flag und definieren die Konfiguration in Ihrer next.config.js-Datei wie folgt:

next.config.js
module.exports = {
  experimental: {
    dynamicIO: true,
    cacheLife: {
      blog: {
        stale: 3600, // 1 Stunde
        revalidate: 900, // 15 Minuten
        expire: 86400, // 1 Tag
      },
    },
  },
}

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

app/actions.ts
import { unstable_cacheLife as cacheLife } from 'next/cache'
 
export async function getCachedData() {
  'use cache'
  cacheLife('blog')
  const data = await fetch('/api/data')
  return data
}

Konfigurationsstruktur

Das Konfigurationsobjekt weist Schlüsselwerte mit folgendem Format auf:

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