An abstract-cache compliant client targeting Redis
npm install abstract-cache-redisThis module provides a cache client that is compliant with the
abstract-cache protocol. This
client implements the await style of the protocol.
In addition to the API mandated by the protocol, the client exposeskeys, scan, scanStream, disconnect and quit methods. These map to the
ioredis methods of the same names. The disconnect
and quit methods are only useful if you create the client with connection
configuration instead of an already connected Redis client.
``jslocalhost:6379
// Create a client that uses ioredis to connect to .
const client = require('abstract-cache-redis')({ioredis: {}})
client.set('foo', 'foo', 1000)
.then(() => client.has('foo'))
.then(console.log) // true
.then(() => client.quit())
.catch(console.error)
client.set('foo', 'foo', 1000)
.then(() => client.keys('fo*'))
.then(console.log) // [ 'foo' ]
.then(() => client.quit())
.catch(console.error)
`
The client factory accepts the an object with the following properties:
+ client: An already connected instance of ioredis.ioredis
+ : A regular ioredis configuration object.
Notes:
1. client takes precedence to ioredis.client
1. At least one of the or ioredis properties must be supplied.
1. The user is responsible for closing the connection.
In order to run the tests for this project a local instance of Reis must
be running on port 6379. A docker-compose.yml is included to facilitate
this:
`shell`
$ docker-compose -d up
$ tap test/*.test.js
npm test` automates the above.