1.0.23 • Published 4 years ago

cache-layer v1.0.23

Weekly downloads
64
License
MIT
Repository
github
Last release
4 years ago

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

1.0.23

4 years ago

1.0.22

4 years ago

1.0.19

4 years ago

1.0.18

4 years ago

1.0.21

4 years ago

1.0.20

4 years ago

1.0.17

4 years ago

1.0.16

4 years ago

1.0.15

4 years ago

1.0.14

4 years ago

1.0.11

4 years ago

1.0.13

4 years ago

1.0.12

4 years ago

1.0.10

4 years ago

1.0.9

4 years ago

1.0.8

4 years ago

1.0.7

4 years ago

1.0.6

4 years ago

1.0.5

4 years ago

1.0.4

4 years ago

1.0.3

4 years ago

1.0.2

5 years ago

1.0.1

5 years ago

1.0.0

5 years ago