Benutzerdefinierter Next.js Cache-Handler

Sie können den Speicherort des Next.js-Caches konfigurieren, wenn Sie zwischengespeicherte Seiten und Daten in einem dauerhaften Speicher persistieren oder den Cache über mehrere Container oder Instanzen Ihrer Next.js-Anwendung hinweg teilen möchten.

next.config.js
module.exports = {
  cacheHandler: require.resolve('./cache-handler.js'),
  cacheMaxMemorySize: 0, // Deaktiviert die standardmäßige In-Memory-Caching
}

Sehen Sie sich ein Beispiel für einen benutzerdefinierten Cache-Handler an und erfahren Sie mehr über die Implementierung.

API-Referenz

Der Cache-Handler kann die folgenden Methoden implementieren: get, set, revalidateTag und resetRequestCache.

get()

ParameterTypBeschreibung
keystringDer Schlüssel zum zwischengespeicherten Wert.

Gibt den zwischengespeicherten Wert oder null zurück, falls nicht gefunden.

set()

ParameterTypBeschreibung
keystringDer Schlüssel, unter dem die Daten gespeichert werden.
dataData oder nullDie zu cachenden Daten.
ctx{ tags: [] }Die bereitgestellten Cache-Tags.

Gibt Promise<void> zurück.

revalidateTag()

ParameterTypBeschreibung
tagstring oder string[]Die zu revalidierenden Cache-Tags.

Gibt Promise<void> zurück. Erfahren Sie mehr über das Revalidieren von Daten oder die Funktion revalidateTag().

resetRequestCache()

Diese Methode setzt den temporären In-Memory-Cache für eine einzelne Anfrage vor der nächsten Anfrage zurück.

Gibt void zurück.

Wissenswertes:

  • revalidatePath ist eine bequeme Abstraktionsebene über Cache-Tags. Der Aufruf von revalidatePath ruft Ihre revalidateTag-Funktion auf, und Sie können dann entscheiden, ob Sie Cache-Schlüssel basierend auf dem Pfad taggen möchten.

Plattformunterstützung

BereitstellungsoptionUnterstützt
Node.js-ServerJa
Docker-ContainerJa
Statischer ExportNein
AdapterPlattformspezifisch

Erfahren Sie, wie Sie ISR konfigurieren, wenn Sie Next.js selbst hosten.

Versionsverlauf

VersionÄnderungen
v14.1.0Umbenannt in cacheHandler und wurde stabil.
v13.4.0incrementalCacheHandlerPath-Unterstützung für revalidateTag.
v13.4.0incrementalCacheHandlerPath-Unterstützung für Standalone-Ausgabe.
v12.2.0Experimentelle incrementalCacheHandlerPath hinzugefügt.

On this page