@kite-tech/redis-cache

1.6.1 • Public • Published

node-redis-cache

A simple Redis-backed Cache for Node applications.

Tables of contents

Installation

npm install --save @kite-tech/redis-cache

You should have redis v2.x installed as well (or pass your own redisClient see Constructor options).

Usage

Constructor options

Instantiate a cache with name 'products':

const Cache = require('@kite-tech/cache');
const productsCache = new Cache('products');

Instantiate a cache with name 'products' and pass a redisClient:

const Cache = require('@kite-tech/cache');
const redisClient = {
    getAsync () {},
    setAsync () {},
    delAsync () {}
};
const productsCache = new Cache('products', redisClient);

Instantiate a cache with name 'products' and pass a ttl:

const Cache = require('@kite-tech/cache');
const PRODUCTS_TTL = 60 * 30; // 30 minutes, in seconds
const productsCache = new Cache('products', undefined, ttl);

Access

  • Set a key in productsCache, with default TTL (either set at instantiation time or 30 minutes):
async function fetchProduct () {
    await productsCache.set(
        'my-cache-id',
        {
            plain: 'old',
            js: 'object'
        }
    )
}
  • Set a key in productsCache, with a specific TTL:
const CUSTOM_TTL = 60; // 1 minute, in seconds
async function fetchProduct () {
    await productsCache.set(
        'my-cache-id',
        {
            plain: 'old',
            js: 'object'
        },
        {
            ttl: CUSTOM_TTL
        }
    )
}
  • Get a key in productsCache, cachedProduct can be null or the stored value
async function fetchProduct () {
    const cachedProduct = await productsCache.get('my-cache-id');
}
  • Evict a key in productsCache:
async function fetchUncached () {
    await productsCache.evict('my-cache-id');
}

Publishing

Commit linting

We use the config-conventional setup to lint the commits. See details of this here:

Publish on merge to master

master is automatically released as a new version based on the commit messages using semantic-release.

Readme

Keywords

Package Sidebar

Install

npm i @kite-tech/redis-cache

Weekly Downloads

1

Version

1.6.1

License

UNLICENSED

Unpacked Size

15.7 kB

Total Files

7

Last publish

Collaborators

  • a7xsv
  • mattkay
  • sylwester.smolen
  • tomgallard
  • dbotha
  • kite-machine-user