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
module.exports = {
experimental: {
dynamicIO: true,
cacheLife: {
blog: {
stale: 3600, // 1 heure
revalidate: 900, // 15 minutes
expire: 86400, // 1 jour
},
},
},
}
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
}
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é | Valeur | Description | Exigence |
---|---|---|---|
stale | number | Durée pendant laquelle le client doit mettre en cache une valeur sans interroger le serveur. | Optionnel |
revalidate | number | Fréquence à laquelle le cache doit être actualisé côté serveur ; des valeurs obsolètes peuvent être servies pendant la revalidation. | Optionnel |
expire | number | Durée maximale pendant laquelle une valeur peut rester obsolète avant de basculer en mode dynamique. | Optionnel - Doit être supérieure à revalidate |