1.0.22 • Published 8 years ago
pcacher v1.0.22
Pcacher
Promisified cache for nodejs. Work on top of Redis. Also support in memory cache.
Install
npm install pcacher
Basic usage
var pcacher = require('pcacher');
var cache = pcacher({
redis: {port: 6379, host: '127.0.0.1'}, // Redis config
ttl: '2h', // optional. default TTL. See https://github.com/rauchg/ms.js
ns: 'pcacher' // optional. Prefix for keys in redis. Default is 'pcacher'
});
cache.memoize('key', function () {
return 'value';
}).then(function (val) {
val === 'value'; // true
});
Value
Value can be a function (can return a promise) or promise or any JSON-serialized object.
cache.memoize('key', '15min', function () {
somePromisifiedQueryToDb(); // should return a promise, this query will be cached for 15 min
}).then(function (val) {
console.log(val);
});
cache.memoize('key', '15min', function () {
return {a: 1};
}).then(function (val) {
console.log(val); // {a: 1}
});
Options
Options can be a object, in this case it will be interpreted as list of options. Or it can be String or Number, in this case it will be interpreted as TTL. There are follow options:
ns
reset
memory
ttl
String or Number of seconds. If a string, use follow patterns'2h'
or'15min'
. More detailed here.nocache
Boolean. Use it to off cache
cache.memoize('key', {
ns: 'my_namespace',
reset: true, // Reset stored value, resave it
memory: true, // Store data in memory, NOT in Redis
nocache: true, // Off caching
ttl: 60 // TTL is 60 seconds, equal '1m'
}, function () {
return 'value';
}).then(function (val) {
val === 'value'; // true
});
1.0.22
8 years ago
1.0.21
8 years ago
1.0.20
8 years ago
1.0.19
8 years ago
1.0.18
8 years ago
1.0.17
8 years ago
1.0.16
8 years ago
1.0.15
8 years ago
1.0.14
8 years ago
1.0.13
8 years ago
1.0.12
8 years ago
1.0.11
8 years ago
1.0.10
8 years ago
1.0.9
8 years ago
1.0.8
8 years ago
1.0.7
8 years ago
1.0.6
8 years ago
1.0.5
8 years ago
1.0.4
9 years ago
1.0.3
9 years ago
1.0.2
9 years ago
1.0.1
9 years ago
1.0.0
9 years ago