Simplistic node redis cache ready can scale with generic-pool support
Cache Early; Cache Often
node >= 4
This module requires nodejs v4 or above as it has dependencies on es6 components such as Map, Set, Promise etc.
- 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.
- Serialization: Used to serialize values in distributed scenarios, can be configured.
- Synchronized locking with a semaphore
- Provides both sync and async API
npm install node-cache-redis
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")
});
- RedisCache([options])
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 |
bash test.sh
Discover how you can contribute by heading on over to the CONTRIBUTING.md
file.
These amazing people are maintaining this project:
No sponsors yet! Will you be the first?
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> ---