Manejador de caché personalizado en Next.js

En Next.js, el manejador de caché predeterminado para el Enrutador de Páginas y Aplicaciones utiliza la caché del sistema de archivos. Esto no requiere configuración, sin embargo, puedes personalizar el manejador de caché usando el campo cacheHandler en next.config.js.

next.config.js
module.exports = {
  cacheHandler: require.resolve('./cache-handler.js'),
  cacheMaxMemorySize: 0, // desactiva el almacenamiento en 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 y revalidateTag.

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
tagstringLa etiqueta de caché a revalidar.

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

Es importante saber:

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

Historial de versiones

VersiónCambios
v14.1.0cacheHandler renombrado es estable.
v13.4.0incrementalCacheHandlerPath (experimental) soporta revalidateTag.
v13.4.0incrementalCacheHandlerPath (experimental) soporta salida independiente.
v12.2.0incrementalCacheHandlerPath (experimental) es añadido.