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

    Keywords

    Install

    npm i exp-rediscache

    DownloadsWeekly Downloads

    27

    Version

    5.1.0

    License

    MIT

    Unpacked Size

    7.62 kB

    Total Files

    4

    Last publish

    Collaborators

    • andolf
    • markusn
    • linuss
    • joelabrahamsson
    • norla
    • paed01
    • indeedshouts
    • jonaswalden
    • marcusgronblad
    • oscartholander
    • lofsan