cacheLife
La opción cacheLife permite definir perfiles de caché personalizados al utilizar la función cacheLife dentro de componentes o funciones, y dentro del ámbito de la directiva use cache.
Uso
Para definir un perfil, active la bandera dynamicIO y agregue el perfil de caché en el objeto cacheLife dentro del archivo next.config.js. Por ejemplo, un perfil blog:
import type { NextConfig } from 'next'
const nextConfig: NextConfig = {
experimental: {
dynamicIO: true,
cacheLife: {
blog: {
stale: 3600, // 1 hora
revalidate: 900, // 15 minutos
expire: 86400, // 1 día
},
},
},
}
export default nextConfigmodule.exports = {
experimental: {
dynamicIO: true,
cacheLife: {
blog: {
stale: 3600, // 1 hora
revalidate: 900, // 15 minutos
expire: 86400, // 1 día
},
},
},
}Ahora puede utilizar esta configuración personalizada blog en su componente o función de la siguiente manera:
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
}Referencia
El objeto de configuración tiene valores clave con el siguiente formato:
| Propiedad | Valor | Descripción | Requisito |
|---|---|---|---|
stale | number | Duración que el cliente debe almacenar en caché un valor sin consultar al servidor. | Opcional |
revalidate | number | Frecuencia con la que la caché debe actualizarse en el servidor; se pueden servir valores obsoletos durante la revalidación. | Opcional |
expire | number | Duración máxima durante la cual un valor puede permanecer obsoleto antes de cambiar a dinámico. | Opcional - Debe ser mayor que revalidate |