incrementalCacheHandlerPath

В Next.js стандартный обработчик кэша использует файловую систему для кэширования. Это не требует дополнительной настройки, однако вы можете кастомизировать обработчик кэша, используя поле incrementalCacheHandlerPath в файле next.config.js.

next.config.js
module.exports = {
  experimental: {
    incrementalCacheHandlerPath: require.resolve('./cache-handler.js'),
  },
}

Пример пользовательского обработчика кэша:

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()

ПараметрТипОписание
keystringКлюч для получения значения.

Возвращает закэшированное значение или null, если значение не найдено.

set()

ПараметрТипОписание
keystringКлюч для хранения данных.
dataДанные или nullДанные для кэширования.

Возвращает Promise<void>.

revalidateTag()

ПараметрТипОписание
tagstringТег кэша для ревалидации.

Возвращает Promise<void>. Подробнее о ревалидации данных или функции revalidateTag().