Skip to content

jsumners/abstract-cache-redis

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

abstract-cache-redis

This 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 exposes keys, 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.

Example

// Create a client that uses ioredis to connect to `localhost:6379`.
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)

Options

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.
  2. At least one of the client or ioredis properties must be supplied.
  3. The user is responsible for closing the connection.

Tests

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:

$ docker-compose -d up
$ tap test/*.test.js

npm test automates the above.

License

MIT License

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published