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
.
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á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 | La 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 arevalidatePath
llamará a tu funciónrevalidateTag
, luego puedes decidir si deseas etiquetar claves de caché basadas en la ruta.
Historial de versiones
Versión | Cambios |
---|---|
v14.1.0 | cacheHandler renombrado es estable. |
v13.4.0 | incrementalCacheHandlerPath (experimental) soporta revalidateTag . |
v13.4.0 | incrementalCacheHandlerPath (experimental) soporta salida independiente. |
v12.2.0 | incrementalCacheHandlerPath (experimental) es añadido. |