Menu

Benutzerdefinierter Next.js Cache-Handler

Caching und Revalidieren von Seiten (mit Inkrementeller Statischer Regenerierung) verwenden denselben gemeinsamen Cache. Bei der Bereitstellung auf Vercel wird der ISR-Cache automatisch in einem dauerhaften Speicher gespeichert.

Bei der Selbst-Hosting-Lösung wird der ISR-Cache im Dateisystem (auf der Festplatte) auf Ihrem Next.js-Server gespeichert. Dies funktioniert automatisch bei der Selbst-Hosting-Lösung sowohl mit dem Pages- als auch mit dem App Router.

Sie können den Speicherort des Next.js-Caches konfigurieren, wenn Sie zwischengespeicherte Seiten und Daten dauerhaft speichern 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, // Standard-Speichercache deaktivieren
}

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 zwischengespeicherten Wert.

Gibt den zwischengespeicherten Wert zurück oder null, wenn nichts gefunden wurde.

set()

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

Gibt Promise<void> zurück.

revalidateTag()

ParameterTypBeschreibung
tagstring oder string[]Die Cache-Tags, die neu validiert werden sollen.

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

Hinweis:

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

Versionshistorie

VersionÄnderungen
v14.1.0In cacheHandler umbenannt und stabil geworden.
v13.4.0Unterstützung für revalidateTag in incrementalCacheHandlerPath.
v13.4.0Unterstützung für Standalone-Ausgabe in incrementalCacheHandlerPath.
v12.2.0Experimentelles incrementalCacheHandlerPath hinzugefügt.