Skip to content

pearlshare/node-cache-redis

 
 

Repository files navigation

npm version Build Status Coverage Status Dependency Status Gratipay donate button

node-cache-redis See on Github

Simplistic node redis cache ready can scale with generic-pool support

Cache Early; Cache Often

Prerequisites

node >= 4 This module requires nodejs v4 or above as it has dependencies on es6 components such as Map, Set, Promise etc.

Featuring

  • Out of the box default configuration (but fully configurable)
  • Scalable easily, less friction during locking and purging
  • Design for multithread environment
  • Extensible Logging
  • Flexible Expiration: Through configuration, you can set a default expiration mode and time for each layer.
  • Statistics / Counters: Gather statistical information and track caching operations in Performance Monitor as needed.
  • Modular Design: Lib comes in many different packages, separating the features and dependencies.
Todo:
  • Serialization: Used to serialize values in distributed scenarios, can be configured.
  • Synchronized locking with a semaphore
  • Provides both sync and async API

Getting started

    npm install node-cache-redis

Usage

    const RedisCache = require("node-cache-redis");
    const cache = new RedisCache();

    // set
    cache.set("key", "value")
    .then(function () {
      return cache.get("key");
    })
    .then(function (value) {
      assert.eql(value, "value")
    });

API

  • RedisCache([options])

options object properties

Name Type Description
name string

Name your store

redisOptions object

opts from node_redis#options-object-properties

poolOptions object

opts from node-pool#createpool

logger object

Inject your custom logger

ttlInSeconds number

Default time to live for stored values

Run tests

bash test.sh

Contribute

Discover how you can contribute by heading on over to the CONTRIBUTING.md file.

Backers

Maintainers

These amazing people are maintaining this project:

Sponsors

No sponsors yet! Will you be the first?

Patreon donate button Gratipay donate button Flattr donate button

Click here to lend your support to: simple-node-redis-cache and make a donation at pledgie.com !

Contributors

These amazing people have contributed code to this project:

Feel free to make changes. Please see the Contributors' Guide for more information on contributing to the documentation.


<script>(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');ga('create', 'UA-57413413-5', 'auto');ga('send', 'pageview');</script> ---

About

Redis cache ready to scale with node-pool support

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 96.8%
  • Shell 3.2%