Apply the cache-aside
pattern to the request
module (e.g. add cache support).
[~] npm install request-aside
memory cache
var request = require('request-aside');
request({
method: 'GET',
url: url,
cache: 60 * 60 * 1000 // cache for 1 hour
}, cb);
redis cache
var request = require('request-aside');
var client = redis.createClient();
request({
method: 'GET',
url: url,
cache: 60 * 60 * 1000, // cache for 1 hour
redis: client
}, cb);
promises
var request = require('request-aside');
var client = redis.createClient();
request({
method: 'GET',
url: url,
cache: 60 * 60 * 1000, // cache for 1 hour
redis: client
}).then(console.log).catch(console.error);