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.
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()
Parameter | Typ | Beschreibung |
---|---|---|
key | string | Der Schlüssel zum gecachten Wert. |
Gibt den gecachten Wert oder null
zurück, falls nicht gefunden.
set()
Parameter | Typ | Beschreibung |
---|---|---|
key | string | Der Schlüssel, unter dem die Daten gespeichert werden. |
data | Data oder null | Die zu cachenden Daten. |
ctx | { tags: [] } | Die bereitgestellten Cache-Tags. |
Gibt Promise<void>
zurück.
revalidateTag()
Parameter | Typ | Beschreibung |
---|---|---|
tag | string | Der 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 vonrevalidatePath
ruft IhrerevalidateTag
-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.0 | cacheHandler wurde umbenannt und ist nun stabil. |
v13.4.0 | incrementalCacheHandlerPath (experimentell) unterstützt revalidateTag . |
v13.4.0 | incrementalCacheHandlerPath (experimentell) unterstützt Standalone-Output. |
v12.2.0 | incrementalCacheHandlerPath (experimentell) wurde hinzugefügt. |