Manejador de caché personalizado en Next.js

Puedes configurar la ubicación del caché de Next.js si deseas persistir páginas y datos en caché en almacenamiento duradero, o compartir el caché entre múltiples contenedores o instancias de tu aplicación Next.js.

next.config.js
module.exports = {
  cacheHandler: require.resolve('./cache-handler.js'),
  cacheMaxMemorySize: 0, // deshabilita el caché en memoria predeterminado
}

Consulta un ejemplo de un manejador de caché personalizado y aprende más sobre su implementación.

Referencia de API

El manejador de caché puede implementar los siguientes métodos: get, set, revalidateTag y resetRequestCache.

get()

ParámetroTipoDescripción
keystringLa clave del valor en caché.

Devuelve el valor en caché o null si no se encuentra.

set()

ParámetroTipoDescripción
keystringLa clave para almacenar los datos.
dataData o nullLos datos a almacenar en caché.
ctx{ tags: [] }Las etiquetas de caché proporcionadas.

Devuelve Promise<void>.

revalidateTag()

ParámetroTipoDescripción
tagstring o string[]Las etiquetas de caché a revalidar.

Devuelve Promise<void>. Aprende más sobre revalidación de datos o la función revalidateTag().

resetRequestCache()

Este método reinicia el caché temporal en memoria para una sola solicitud antes de la siguiente.

Devuelve void.

Importante saber:

  • revalidatePath es una capa de conveniencia sobre las etiquetas de caché. Llamar a revalidatePath invocará tu función revalidateTag, luego puedes decidir si deseas etiquetar claves de caché basadas en la ruta.

Soporte de plataformas

Opción de despliegueSoporte
Servidor Node.js
Contenedor Docker
Exportación estáticaNo
AdaptadoresDepende de la plataforma

Aprende cómo configurar ISR al autoalojar Next.js.

Historial de versiones

VersiónCambios
v14.1.0Renombrado a cacheHandler y se volvió estable.
v13.4.0Soporte para revalidateTag en incrementalCacheHandlerPath.
v13.4.0Soporte para salida independiente en incrementalCacheHandlerPath.
v12.2.0Se añadió experimentalmente incrementalCacheHandlerPath.