Gestionnaire de cache personnalisé Next.js
Dans Next.js, le gestionnaire de cache par défaut pour le Pages Router et l'App Router utilise le cache du système de fichiers. Cela ne nécessite aucune configuration, mais vous pouvez personnaliser le gestionnaire de cache en utilisant le champ cacheHandler
dans next.config.js
.
module.exports = {
cacheHandler: require.resolve('./cache-handler.js'),
cacheMaxMemorySize: 0, // désactive la mise en cache en mémoire par défaut
}
Consultez un exemple de gestionnaire de cache personnalisé et apprenez-en plus sur son implémentation.
Référence API
Le gestionnaire de cache peut implémenter les méthodes suivantes : get
, set
et revalidateTag
.
get()
Paramètre | Type | Description |
---|---|---|
key | string | La clé de la valeur en cache. |
Retourne la valeur en cache ou null
si non trouvée.
set()
Paramètre | Type | Description |
---|---|---|
key | string | La clé sous laquelle stocker les données. |
data | Data ou null | Les données à mettre en cache. |
ctx | { tags: [] } | Les étiquettes (tags) de cache fournies. |
Retourne Promise<void>
.
revalidateTag()
Paramètre | Type | Description |
---|---|---|
tag | string | L'étiquette (tag) de cache à revalider. |
Retourne Promise<void>
. Apprenez-en plus sur la revalidation des données ou la fonction revalidateTag()
.
Bon à savoir :
revalidatePath
est une couche de commodité basée sur les étiquettes (tags) de cache. AppelerrevalidatePath
appellera votre fonctionrevalidateTag
, que vous pouvez ensuite choisir d'utiliser pour étiqueter les clés de cache en fonction du chemin.
Historique des versions
Version | Changements |
---|---|
v14.1.0 | cacheHandler renommé est stable. |
v13.4.0 | incrementalCacheHandlerPath (expérimental) prend en charge revalidateTag . |
v13.4.0 | incrementalCacheHandlerPath (expérimental) prend en charge la sortie autonome. |
v12.2.0 | incrementalCacheHandlerPath (expérimental) est ajouté. |