exp-rediscache

5.1.0 • Public • Published

rediscache

A Redis caching library meant to be used with exp-asynccache.

Usage:

const cache = new AsyncCache(new RedisCache());

const hit = cache.lookup("foo", (resolve) => {
  resolve(null, "baz");
});

hit.then((value) => {
  console.log(value); // value will be "baz"
});

Values cached with a maxAge uses Redis's SETEX command and sets a TTL on the key.

const cache = new AsyncCache(new RedisCache());

const hit = cache.lookup("foo", (resolve) => {
  resolve(null, "baz", 1000);
});

hit.then((value) => {
  console.log(value); // value will be "baz"
});

The underlying Redis client will queue up any commands if Redis is down. If you want instant errors back you can set the enableOfflineQueue option to false. This allows exp-asynccache to transparently fall back to the resolve callback in such a case.

const cache = new AsyncCache(new RedisCache({
  enableOfflineQueue: false
}));

To namespace your cache keys (in case you run multiple apps against the same Redis), you can specify the keyPrefix option.

const cache = new AsyncCache(new RedisCache({
  keyPrefix: "namespace"
}));

Dev

For local development and running tests:

$ npm ci
$ docker-compose up // starts the local redis instance
$ npm test

Dependents (0)

Package Sidebar

Install

npm i exp-rediscache

Weekly Downloads

119

Version

5.1.0

License

MIT

Unpacked Size

7.62 kB

Total Files

4

Last publish

Collaborators

  • jzachrisson
  • hilleso
  • drgeobn
  • gusliden
  • karlbergc
  • martindanielson
  • matsrorbecker
  • andolf
  • markusn
  • linuss
  • joelabrahamsson
  • norla
  • paed01
  • indeedshouts
  • jonaswalden
  • marcusgronblad
  • oscartholander
  • lofsan