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
$ npm i @ostai/cacheman-redis
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')
- client
RedisClient
redisclient
instance - options
?Object
- prefix
?string=''
key prefix
- prefix
Create a CachemanRedis
instance.
const Redis = require('ioredis')
const cache = new CachemanRedis(new Redis())
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'}
})
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)
})
Deletes a key out of the cache.
cache.del('foo', err => {
if (err) throw err
// foo was deleted
})
Clear the cache entirely, throwing away all values.
cache.clear(err => {
if (err) throw err
// cache is now clear
})
$ make test