incrementalCacheHandlerPath
В Next.js стандартный обработчик кэша использует файловую систему для кэширования. Это не требует дополнительной настройки, однако вы можете кастомизировать обработчик кэша, используя поле incrementalCacheHandlerPath
в файле next.config.js
.
module.exports = {
experimental: {
incrementalCacheHandlerPath: require.resolve('./cache-handler.js'),
},
}
Пример пользовательского обработчика кэша:
const cache = new Map()
module.exports = class CacheHandler {
constructor(options) {
this.options = options
this.cache = {}
}
async get(key) {
return cache.get(key)
}
async set(key, data) {
cache.set(key, {
value: data,
lastModified: Date.now(),
})
}
}
Справочник API
Обработчик кэша может реализовывать следующие методы: get
, set
и revalidateTag
.
get()
Параметр | Тип | Описание |
---|---|---|
key | string | Ключ для получения значения. |
Возвращает закэшированное значение или null
, если значение не найдено.
set()
Параметр | Тип | Описание |
---|---|---|
key | string | Ключ для хранения данных. |
data | Данные или null | Данные для кэширования. |
Возвращает Promise<void>
.
revalidateTag()
Параметр | Тип | Описание |
---|---|---|
tag | string | Тег кэша для ревалидации. |
Возвращает Promise<void>
. Подробнее о ревалидации данных или функции revalidateTag()
.