0.4.1 • Published 11 years ago
mmemoize v0.4.1
node-mmemoize
Memoize asynchronous function calls using memcached
Usage
var Memcached = require('memcached'),
mmemoize = require('mmemoize');
var memcached = new Memcached('localhost:11211'),
mmemoizer = mmemoize(memcached /*, config */);
var a = function (/* someArguments, */ callback) {
// some potentially expensive computations, database fetches etc.
// ...
return callback(potentialErrors, theResult);
}
a = mmemoizer.memoize(a, 'a' /*, customTTL */);
a(/* someArguments, */ function (err, result) {
// process results
// ...
});
// just in case:
a = a.dememoize(); // or: a = mmemoizer.dememoize(a);
Configuration
Send config object as the second parameter of mmemoize(), use the following options:
ttl
: Default key TTL in seconds; default:120
hashAlgorithm
: Algorithm used for hashing function arguments in memcached keys, set tonull
for no hashing at all, for possible values see node.js' crypto documentation; default:sha1
Deployment dependencies
- node-memcached (of course)
Tests
- using nodeunit
- with running memcached instance (of course)
$ nodeunit tests/tests.js