New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

exp-rediscache

Package Overview
Dependencies
Maintainers
11
Versions
13
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

exp-rediscache

A simple redis cache library

5.1.0
latest
Source
npm
Version published
Maintainers
11
Created
Source

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

Keywords

cache

FAQs

Package last updated on 21 Dec 2021

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts