1.0.22 • Published 9 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
9 years ago
1.0.21
9 years ago
1.0.20
9 years ago
1.0.19
9 years ago
1.0.18
9 years ago
1.0.17
9 years ago
1.0.16
9 years ago
1.0.15
9 years ago
1.0.14
9 years ago
1.0.13
9 years ago
1.0.12
9 years ago
1.0.11
9 years ago
1.0.10
9 years ago
1.0.9
9 years ago
1.0.8
9 years ago
1.0.7
10 years ago
1.0.6
10 years ago
1.0.5
10 years ago
1.0.4
10 years ago
1.0.3
10 years ago
1.0.2
10 years ago
1.0.1
10 years ago
1.0.0
10 years ago