unstable_cache
Avertissement : Cette API sera remplacée par
use cache
lorsqu'elle atteindra la stabilité.
unstable_cache
vous permet de mettre en cache les résultats d'opérations coûteuses, comme des requêtes de base de données, et de les réutiliser entre plusieurs requêtes.
Bon à savoir :
- L'accès à des sources de données dynamiques comme
headers
oucookies
dans une portée de cache n'est pas pris en charge. Si vous avez besoin de ces données dans une fonction mise en cache, utilisezheaders
en dehors de la fonction et passez les données dynamiques nécessaires comme argument.- Cette API utilise le Cache de données intégré de Next.js pour persister le résultat entre les requêtes et les déploiements.
Paramètres
fetchData
: Une fonction asynchrone qui récupère les données que vous souhaitez mettre en cache. Elle doit être une fonction qui retourne unePromise
.keyParts
: Un tableau supplémentaire de clés qui identifient davantage le cache. Par défaut,unstable_cache
utilise déjà les arguments et la version sérialisée de votre fonction comme clé de cache. Ce paramètre est optionnel dans la plupart des cas ; vous n'en avez besoin que lorsque vous utilisez des variables externes sans les passer comme paramètres. Cependant, il est important d'ajouter les fermetures utilisées dans la fonction si vous ne les passez pas comme paramètres.options
: Un objet qui contrôle le comportement du cache. Il peut contenir les propriétés suivantes :tags
: Un tableau d'étiquettes qui peuvent être utilisées pour contrôler l'invalidation du cache. Next.js ne l'utilisera pas pour identifier de manière unique la fonction.revalidate
: Le nombre de secondes après lesquelles le cache doit être revalidé. Omettez ou passezfalse
pour mettre en cache indéfiniment ou jusqu'à ce que les méthodes correspondantesrevalidateTag()
ourevalidatePath()
soient appelées.
Retour
unstable_cache
retourne une fonction qui, lorsqu'elle est invoquée, retourne une Promise qui se résout en les données mises en cache. Si les données ne sont pas dans le cache, la fonction fournie sera invoquée, et son résultat sera mis en cache et retourné.
Exemple
Historique des versions
Version | Modifications |
---|---|
v14.0.0 | Introduction de unstable_cache . |