cache-layer
TypeScript icon, indicating that this package has built-in type declarations

1.0.23 • Public • Published

Cache Layer npm version

An abstraction for cache providers, it exposes a common interface for different ways to cache data

It suports

Build Status Dependency Status Coverage Status Code Climate

Sumary


Installation

$ npm install cache-layer --save

API

get

  • Retrieves a value for a given key

put

  • Store a value for a given key
  • If time isn't passed in, it is stored forever

del

  • Delete value for a given key

has

  • Check if key exists on cache

Usage

InMemory

const client = Cache.create({
  provider: 'in-memory',
  ttl: 2000 // a defautt TTL (miliseconds)
});

MemCached

To use memcached you have to inform a server or it will set a localhost as default. So, to use it locally, you need to install memcached. If you have a memcached server, just inform the host

sudo apt-get install memcached
const client = Cache.create({
  host: 'localhost:11211' // if any host was informed, it will set localhost as default
  provider: 'memcached',
  ttl: 2000 // a defautt TTL (miliseconds)
});
Options

All available options to create memcached instance: https://raw.githubusercontent.com/3rd-Eden/memcached/master/README.md

Redis

const client = Cache.create({
  provider: 'redis',
  host: 'redis.com.br',
  container: 'cache',
  port: 6379,
  ttl: 2000, // a defautt TTL (miliseconds)
  keyPrefix: 'cache:',
  lazyConnect: true,
  maxRetriesPerRequest: 0
});

The TTL is in ms, you can pass a default value, or add as a third parameter on add method. The package implements zeit/ms, so is possible to use a string to define the TTL with zeit/ms format

const done = await client.add('hashKey', { name: 'John' }, 1000);
const result = await client.get('hashKey');

const done = await client.add('hashKey', { name: 'John' }, '1s');
const result = await client.get('hashKey');

const done = await client.add('hashKey', { name: 'John' }, '1d');
const result = await client.get('hashKey');
Options

All available options to create ioredis instance: https://raw.githubusercontent.com/luin/ioredis/f4fe62f231b33b28fda1cb28b4f5690655007b80/API.md

Features

License

License

Package Sidebar

Install

npm i cache-layer

Weekly Downloads

0

Version

1.0.23

License

MIT

Unpacked Size

27.1 kB

Total Files

34

Last publish

Collaborators

  • albovieira