Skip to content

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

License

Notifications You must be signed in to change notification settings

kaelzhang/cacheman-redis

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

53 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

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

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published