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 nextConfig

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
}

Referencia

El objeto de configuración tiene valores clave con el siguiente formato:

PropiedadValorDescripciónRequisito
stalenumberDuración que el cliente debe almacenar en caché un valor sin consultar al servidor.Opcional
revalidatenumberFrecuencia con la que la caché debe actualizarse en el servidor; se pueden servir valores obsoletos durante la revalidación.Opcional
expirenumberDuración máxima durante la cual un valor puede permanecer obsoleto antes de cambiar a dinámico.Opcional - Debe ser mayor que revalidate

On this page