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.
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ámetro | Tipo | Descripción |
---|---|---|
key | string | La clave del valor en caché. |
Devuelve el valor en caché o null
si no se encuentra.
set()
Parámetro | Tipo | Descripción |
---|---|---|
key | string | La clave para almacenar los datos. |
data | Data o null | Los datos a almacenar en caché. |
ctx | { tags: [] } | Las etiquetas de caché proporcionadas. |
Devuelve Promise<void>
.
revalidateTag()
Parámetro | Tipo | Descripción |
---|---|---|
tag | string 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 arevalidatePath
invocará tu funciónrevalidateTag
, luego puedes decidir si deseas etiquetar claves de caché basadas en la ruta.
Soporte de plataformas
Opción de despliegue | Soporte |
---|---|
Servidor Node.js | Sí |
Contenedor Docker | Sí |
Exportación estática | No |
Adaptadores | Depende de la plataforma |
Aprende cómo configurar ISR al autoalojar Next.js.
Historial de versiones
Versión | Cambios |
---|---|
v14.1.0 | Renombrado a cacheHandler y se volvió estable. |
v13.4.0 | Soporte para revalidateTag en incrementalCacheHandlerPath . |
v13.4.0 | Soporte para salida independiente en incrementalCacheHandlerPath . |
v12.2.0 | Se añadió experimentalmente incrementalCacheHandlerPath . |