StaleTimes (expérimental)

Avertissement : La configuration staleTimes est une fonctionnalité expérimentale. Cette stratégie de configuration sera probablement modifiée dans le futur.

staleTimes est une fonctionnalité expérimentale qui permet de configurer la période d'invalidation du cache du routeur client.

Cette option de configuration est disponible depuis la version v14.2.0-canary.53.

Vous pouvez activer cette fonctionnalité expérimentale et fournir des durées de revalidation personnalisées en définissant le flag expérimental staleTimes :

next.config.js
/** @type {import('next').NextConfig} */
const nextConfig = {
  experimental: {
    staleTimes: {
      dynamic: 30,
      static: 180,
    },
  },
}

module.exports = nextConfig

Les propriétés static et dynamic correspondent à la durée (en secondes) en fonction des différents types de préchargement des liens.

  • La propriété dynamic est utilisée lorsque la page n'est ni générée statiquement ni entièrement préchargée (c'est-à-dire avec prefetch=).
    • Par défaut : 0 seconde (non mis en cache)
  • La propriété static est utilisée pour les pages générées statiquement, ou lorsque la prop prefetch de Link est définie sur true, ou lors de l'appel à router.prefetch.
    • Par défaut : 5 minutes

Bon à savoir :

  • Les limites de chargement sont considérées comme réutilisables pour la période static définie dans cette configuration.
  • Cela n'affecte pas le rendu partiel, ce qui signifie que les mises en page partagées ne seront pas automatiquement rechargées à chaque navigation, seulement le segment de page qui change.
  • Cela ne modifie pas le comportement du cache retour/avant pour éviter les décalages de mise en page et la perte de la position de défilement du navigateur.

Vous pouvez en apprendre davantage sur le cache du routeur client ici.

Historique des versions

VersionModifications
v14.2.0introduction de staleTimes expérimental