cacheLife

L'option cacheLife vous permet de définir des profils de cache personnalisés lors de l'utilisation de la fonction cacheLife dans des composants ou fonctions, et dans le cadre de la directive use cache.

Utilisation

Pour définir un profil, activez le flag dynamicIO et ajoutez le profil de cache dans l'objet cacheLife du fichier next.config.js. Par exemple, un profil blog :

import type { NextConfig } from 'next'

const nextConfig: NextConfig = {
  experimental: {
    dynamicIO: true,
    cacheLife: {
      blog: {
        stale: 3600, // 1 heure
        revalidate: 900, // 15 minutes
        expire: 86400, // 1 jour
      },
    },
  },
}

export default nextConfig

Vous pouvez maintenant utiliser cette configuration personnalisée blog dans votre composant ou fonction comme suit :

import { unstable_cacheLife as cacheLife } from 'next/cache'

export async function getCachedData() {
  'use cache'
  cacheLife('blog')
  const data = await fetch('/api/data')
  return data
}

Référence

L'objet de configuration contient des paires clé-valeur avec le format suivant :

PropriétéValeurDescriptionExigence
stalenumberDurée pendant laquelle le client doit mettre en cache une valeur sans interroger le serveur.Optionnel
revalidatenumberFréquence à laquelle le cache doit être actualisé côté serveur ; des valeurs obsolètes peuvent être servies pendant la revalidation.Optionnel
expirenumberDurée maximale pendant laquelle une valeur peut rester obsolète avant de basculer en mode dynamique.Optionnel - Doit être supérieure à revalidate

On this page