You are currently viewing documentation for version 13 of Next.js.
incrementalCacheHandlerPath
In Next.js, the default cache handler uses the filesystem cache. This requires no configuration, however, you can customize the cache handler by using the incrementalCacheHandlerPath
field in next.config.js
.
next.config.js
module.exports = {
experimental: {
incrementalCacheHandlerPath: require.resolve('./cache-handler.js'),
},
}
Here's an example of a custom cache handler:
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 Reference
The cache handler can implement the following methods: get
, set
, and revalidateTag
.
get()
Parameter | Type | Description |
---|---|---|
key | string | The key to the cached value. |
Returns the cached value or null
if not found.
set()
Parameter | Type | Description |
---|---|---|
key | string | The key to store the data under. |
data | Data or null | The data to be cached. |
Returns Promise<void>
.
revalidateTag()
Parameter | Type | Description |
---|---|---|
tag | string | The cache tag to revalidate. |
Returns Promise<void>
. Learn more about revalidating data or the revalidateTag()
function.
Was this helpful?