Skip to content

codeaholicguy/fastify-response-caching

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
 
 

fastify-response-caching

Node.js CI

fastify-response-caching is a plugin for the Fastify framework that provides mechanisms for caching response to reduce the server workload.

By default, this plugin implements caching by request URL (includes all query parameters) with the caching time (TTL) is 1 seconds. Besides, this plugin also supports additional caching condition such as request headers.

Example

This example shows using the plugin to cache response with default options.

const fastify = require('fastify')
const fastifyResponseCaching = require('fastify-response-caching')

fastify.register(fastifyResponseCaching)

This example shows using the plugin to cache response with customized caching time.

const fastify = require('fastify')
const fastifyResponseCaching = require('fastify-response-caching')

fastify.register(fastifyResponseCaching, {ttl: 5000})

This example shows using the plugin to cache response with customized caching conditions.

const fastify = require('fastify')
const fastifyResponseCaching = require('fastify-response-caching')

fastify.register(fastifyResponseCaching, {ttl: 5000, headers: ['x-request-agent']})

API

Options

fastify-response-caching accepts the options object:

{
  ttl: <Number>
  additionalCondition: {
    headers: <Array<String>>
  }
}
  • ttl (Default: 1000): a value, in milliseconds, for the lifetime of the response cache.
  • additionalCondition (Default: undefined): a configuration of additional condition for caching.
  • additionalCondition.headers (Default: []): a list of string, headers that you want to include in the caching condition.

License

MIT License