Benutzerdefinierter Next.js Cache-Handler

In Next.js verwendet der standardmäßige Cache-Handler für den Pages- und App-Router das Dateisystem-Cache. Dies erfordert keine Konfiguration, Sie können den Cache-Handler jedoch anpassen, indem Sie das Feld cacheHandler in next.config.js verwenden.

next.config.js
module.exports = {
  cacheHandler: require.resolve('./cache-handler.js'),
  cacheMaxMemorySize: 0, // Deaktiviert das 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 und revalidateTag.

get()

ParameterTypBeschreibung
keystringDer Schlüssel zum gecachten Wert.

Gibt den gecachten 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
tagstringDer Cache-Tag, der revalidiert werden soll.

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

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.

Versionsverlauf

VersionÄnderungen
v14.1.0cacheHandler wurde umbenannt und ist nun stabil.
v13.4.0incrementalCacheHandlerPath (experimentell) unterstützt revalidateTag.
v13.4.0incrementalCacheHandlerPath (experimentell) unterstützt Standalone-Output.
v12.2.0incrementalCacheHandlerPath (experimentell) wurde hinzugefügt.