fastify-lcache
TypeScript icon, indicating that this package has built-in type declarations

2.1.0 • Public • Published

fastify-lcache

Maintainability Test Coverage

fastify-lcache plugin for Fastify for memorize data on first request and use it next time until ttl expires

npm i fastify-lcache

Example

// your app
import fastify from 'fastify';
import lcache from 'fastify-lcache';

const app = fastify();
const address = '0.0.0.0';
const port = 4000;

app.register(lcache, {
  ttlInMinutes: 10, // set cached data lifetime to 10 minutes
});

app.after(() => {
  // add your routes
  app.get('/ping', async (req, reply) => {
    reply.send('pong');
  });
});

app.listen(port, address);
// client wants data from your app
const url = 'http://0.0.0.0:4000/ping';
// first request will return origin data from route '/ping'
// and put result to the cache
axios.get(url);
// the following requests within 10 minutes
// will return cached data on this route
axios.get(url);
⚠️ IMPORTANT
Restarting your app resets the cache

API

On fastify instance

app.lcache available inside your app

interface IStorage {
  // Get cached data
  get(key: string): any;

  // Set data to cache
  set(key: string, value: any): void;

  // Check if data exists in cache
  has(key: string): boolean;

  // Clear all data in cache if key not specified
  reset(key?: string): void;

  // Clear Interval which check data lifetime
  destroy(): void;
}

Fastify version compatibility

Fastify lcache
3-4.9 1-1.2
^4.10 2.x

Package Sidebar

Install

npm i fastify-lcache

Weekly Downloads

74

Version

2.1.0

License

MIT

Unpacked Size

13.2 kB

Total Files

16

Last publish

Collaborators

  • denbon05