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.

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ètreTypeDescription
keystringLa clé de la valeur en cache.

Retourne la valeur en cache ou null si non trouvée.

set()

ParamètreTypeDescription
keystringLa clé sous laquelle stocker les données.
dataData ou nullLes données à mettre en cache.
ctx{ tags: [] }Les étiquettes (tags) de cache fournies.

Retourne Promise<void>.

revalidateTag()

ParamètreTypeDescription
tagstringL'é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. Appeler revalidatePath appellera votre fonction revalidateTag, que vous pouvez ensuite choisir d'utiliser pour étiqueter les clés de cache en fonction du chemin.

Historique des versions

VersionChangements
v14.1.0cacheHandler renommé est stable.
v13.4.0incrementalCacheHandlerPath (expérimental) prend en charge revalidateTag.
v13.4.0incrementalCacheHandlerPath (expérimental) prend en charge la sortie autonome.
v12.2.0incrementalCacheHandlerPath (expérimental) est ajouté.