unstable_cache
In Version 15 empfehlen wir stattdessen die Verwendung der use cache
-Direktive.
unstable_cache
ermöglicht es Ihnen, die Ergebnisse aufwendiger Operationen wie Datenbankabfragen zwischenzuspeichern und über mehrere Anfragen hinweg wiederzuverwenden.
Hinweis:
- Der Zugriff auf dynamische Datenquellen wie
headers
odercookies
innerhalb eines Cache-Bereichs wird nicht unterstützt. Wenn Sie diese Daten innerhalb einer zwischengespeicherten Funktion benötigen, verwenden Sieheaders
außerhalb der zwischengespeicherten Funktion und übergeben Sie die erforderlichen dynamischen Daten als Argument.- Diese API verwendet Next.js' integrierte Datenzwischenspeicherung, um das Ergebnis über Anfragen und Bereitstellungen hinweg zu speichern.
Warnung: Diese API ist instabil und kann sich in Zukunft ändern. Wir werden Migrationsdokumentation und Codemods bereitstellen, falls erforderlich, während diese API stabilisiert wird.
Parameter
fetchData
: Dies ist eine asynchrone Funktion, die die Daten abruft, die Sie zwischenspeichern möchten. Es muss eine Funktion sein, die einPromise
zurückgibt.keyParts
: Dies ist ein zusätzliches Array von Schlüsseln, das die Identifikation im Cache weiter ergänzt. Standardmäßig verwendetunstable_cache
bereits die Argumente und die Zeichenfolgenversion Ihrer Funktion als Cache-Schlüssel. Es ist in den meisten Fällen optional; Sie müssen es nur verwenden, wenn Sie externe Variablen ohne Übergabe als Parameter verwenden. Es ist jedoch wichtig, Closures hinzuzufügen, die innerhalb der Funktion verwendet werden, wenn Sie sie nicht als Parameter übergeben.options
: Dies ist ein Objekt, das steuert, wie sich der Cache verhält. Es kann die folgenden Eigenschaften enthalten:tags
: Ein Array von Tags, die zur Steuerung der Cache-Invalidierung verwendet werden können. Next.js wird dies nicht zur eindeutigen Identifizierung der Funktion verwenden.revalidate
: Die Anzahl der Sekunden, nach denen der Cache neu validiert werden soll. Weglassen oderfalse
übergeben, um unbegrenzt oder bis zum Aufruf der übereinstimmendenrevalidateTag()
- oderrevalidatePath()
-Methoden zu speichern.
Rückgabe
unstable_cache
gibt eine Funktion zurück, die beim Aufrufen ein Promise zurückgibt, das die zwischengespeicherten Daten auflöst. Wenn sich die Daten nicht im Cache befinden, wird die bereitgestellte Funktion aufgerufen und ihr Ergebnis zwischengespeichert und zurückgegeben.
Beispiel
Versionsverlauf
Version | Änderungen |
---|---|
v14.0.0 | unstable_cache eingeführt. |