unstable_cache
Warnung: Diese API wird durch
use cache
ersetzt, sobald sie stabil ist.
Mit unstable_cache
können Sie die Ergebnisse aufwändiger Operationen wie Datenbankabfragen zwischenspeichern und sie über mehrere Anfragen hinweg wiederverwenden.
Gut zu wissen:
- Der Zugriff auf dynamische Datenquellen wie
headers
odercookies
innerhalb eines Cache-Bereichs wird nicht unterstützt. Wenn Sie diese Daten in einer zwischengespeicherten Funktion benötigen, verwenden Sieheaders
außerhalb der Funktion und übergeben Sie die erforderlichen dynamischen Daten als Argument.- Diese API nutzt den integrierten Data Cache von Next.js, um Ergebnisse über Anfragen und Deployments hinweg beizubehalten.
Parameter
fetchData
: Eine asynchrone Funktion, die die zu cachenden Daten abruft. Es muss eine Funktion sein, die einPromise
zurückgibt.keyParts
: Ein zusätzliches Array von Schlüsseln, die den Cache weiter identifizieren. Standardmäßig verwendetunstable_cache
bereits die Argumente und die stringifizierte Version Ihrer Funktion als Cache-Schlüssel. In den meisten Fällen ist dies optional; nur wenn Sie externe Variablen verwenden, ohne sie als Parameter zu übergeben, müssen Sie diesen Parameter nutzen. Es ist jedoch wichtig, innerhalb der Funktion verwendete Closures hinzuzufügen, wenn Sie sie nicht als Parameter übergeben.options
: Ein Objekt, das das Cache-Verhalten steuert. Es kann folgende Eigenschaften enthalten:tags
: Ein Array von Tags, die zur Steuerung der Cache-Invalidierung verwendet werden können. Next.js verwendet diese nicht zur eindeutigen Identifizierung der Funktion.revalidate
: Die Anzahl der Sekunden, nach denen der Cache neu validiert werden soll. Lassen Sie dies weg oder übergeben Siefalse
, um den Cache unbegrenzt oder bis zum Aufruf passenderrevalidateTag()
- oderrevalidatePath()
-Methoden zu speichern.
Rückgabewert
unstable_cache
gibt eine Funktion zurück, die bei Aufruf ein Promise zurückgibt, das sich zu den zwischengespeicherten Daten auflöst. Wenn die Daten nicht im Cache sind, wird die bereitgestellte Funktion aufgerufen, und ihr Ergebnis wird zwischengespeichert und zurückgegeben.
Beispiel
Versionsverlauf
Version | Änderungen |
---|---|
v14.0.0 | unstable_cache eingeführt. |