cacher-pro
v1.2.2
Published
nodejs middleware for intelligence cache system using memory, filesystem, redis or mondogb
Downloads
19
Maintainers
Readme
Cacher Pro
Middleware for intelligence cache system using memory, filesystem, redis or mongoDB with NodeJS Frameworks
Usage
Very simple, only you need to:
- instance the cacher-pro passing a storage client (ex.: redis) as option
- and pass the handle function as a middleware in your routes
import express from 'express';
import redis from 'redis';
import cacher from 'cacher-pro';
const app = express();
const cacherMidlleWare = cacher({
redis : redis.createClient()
});
var fruits = ['orange', 'banana', 'apple'];
app.get('/fruits', cacherMidlleWare.handle, (req : any, res : any)=>{
res.json({'result' : fruits});
});
app.get('/fruits/:id', cacherMidlleWare.handle, (req : any, res : any)=>{
res.json({'result' : fruits[req.params.id]});
});
app.post('/fruits', cacherMidlleWare.handle, (req : any, res : any)=>{
if(req.body.fruit){
fruits.push(req.body.fruit);
res.json("[POST] - Fruit inserted!");
}
});
app.listen(3333, ()=>console.log("Running Server [Using Cacher Pro]"));
Cacher-pro release the cache memory when its detect a write operation POST
, PUT
, PATCH
or DELETE
to the cached resource
For use the prefix api
you can configure cacher-pro with the .cacher.json
configuration file.
When the write operations in a resource affects others resources read results you can configure it using the mutual_resources
properties. Its also recommended to use mutual_resources
for api's
that don't uses strictly the REST pattern
{
"debug" : false, //optional, set to true for see logs info
"api_prefix" : "api/v1", //optional, you may use the "api/*" value for all version configuration
"mutual_resources" : [
["fruits", "trees"],
["persons", "people"]
]//optional
}
For development or testing environment you may not pass the storage
client and it will use the memory storage
. Its supports the following storages clients:
- Memory (default)
- Redis (recomended)
Configuration and Options
const options = {
redis : redis.createClient()
}
const cacherMidlleWare = cacher(options);
redis
- theredis
storage client
License
Authors
Kissema Eduardo Rafael ([email protected])
Sponsored By