@ostai/cacheman-redis

2.0.2 • Public • Published

Build Status

@ostai/cacheman-redis

Redis standalone caching library for Node.JS and also cache engine for cacheman.

This fork removes peer dependencies redis and only supports to create a CachemanRedis with a redis client

Install

$ npm i @ostai/cacheman-redis

Usage

const CachemanRedis = require('@ostai/cacheman-redis')
const Redis = require('ioredis')
const cache = new CachemanRedis(new Redis())

// set the value
cache.set('key', {foo: 'bar'}, err => {
  if (err) {
    throw err
  }

  console.log('succeeded')
})

// But for most cases,
// CachemanRedis is used as an engine of Cacheman
const Cacheman = require('cacheman')
const man = new Cacheman('prefix', {
  engine: cache
})

const value = await man.get('key')

API

CachemanRedis(client, options?)

  • client RedisClient redis client instance
  • options ?Object
    • prefix ?string='' key prefix

Create a CachemanRedis instance.

const Redis = require('ioredis')
const cache = new CachemanRedis(new Redis())

cache.set(key, value, ttl?, callback?)

Stores or updates a value.

cache.set('foo', { a: 'bar' }, function (err, value) {
  if (err) throw err
  console.log(value) //-> {a:'bar'}
})

Or add a TTL(Time To Live) in seconds like this:

// key will expire in 60 seconds
cache.set('foo', {a: 'bar'}, 60, (err, value) => {
  if (err) throw err
  console.log(value) //-> {a:'bar'}
})

cache.get(key, callback?)

Retrieves a value for a given key, if there is no value for the given key a null value will be returned.

cache.get(key, (err, value) => {
  if (err) throw err
  console.log(value)
})

cache.del(key, callback?)

Deletes a key out of the cache.

cache.del('foo', err => {
  if (err) throw err
  // foo was deleted
})

cache.clear(callback?)

Clear the cache entirely, throwing away all values.

cache.clear(err => {
  if (err) throw err
  // cache is now clear
})

Run tests

$ make test

License

MIT

Dependencies (0)

    Dev Dependencies (2)

    Package Sidebar

    Install

    npm i @ostai/cacheman-redis

    Weekly Downloads

    5

    Version

    2.0.2

    License

    MIT

    Unpacked Size

    6.11 kB

    Total Files

    4

    Last publish

    Collaborators

    • kael