diff --git a/README.md b/README.md index 626f64e..fd50fcc 100644 --- a/README.md +++ b/README.md @@ -49,6 +49,8 @@ node-cache-manager handles easily and transparently. var redis_cache = cache_manager.caching({store: 'redis', db: 1, ttl: 100/*seconds*/}); var memory_cache = cache_manager.caching({store: 'memory', max: 100, ttl: 10/*seconds*/}); + // Note: callback is optional in set() and del(). + redis_cache.set('foo', 'bar', function(err) { if (err) { throw err; } diff --git a/lib/stores/memory.js b/lib/stores/memory.js index 31208f7..13593aa 100644 --- a/lib/stores/memory.js +++ b/lib/stores/memory.js @@ -14,7 +14,9 @@ var memory_store = function (args) { self.set = function (key, value, cb) { lru_cache.set(key, value); - cb(null); + if (cb) { + cb(null); + } }; self.get = function (key, cb) { @@ -23,7 +25,9 @@ var memory_store = function (args) { self.del = function (key, cb) { lru_cache.del(key); - cb(null); + if (cb) { + cb(null); + } }; return self; diff --git a/test/caching.unit.js b/test/caching.unit.js index 34b1cfe..e185fbe 100644 --- a/test/caching.unit.js +++ b/test/caching.unit.js @@ -35,6 +35,16 @@ describe("caching", function () { }); }); }); + + it("lets us set data without a callback", function (done) { + cache.set(key, value); + setTimeout(function () { + cache.get(key, function (err, result) { + assert.equal(result, value); + done(); + }); + }, 20); + }); }); }); }); @@ -66,6 +76,21 @@ describe("caching", function () { }); }); }); + + it("lets us delete data without a callback", function (done) { + cache.get(key, function (err, result) { + assert.equal(result, value); + + cache.del(key); + + setTimeout(function () { + cache.get(key, function (err, result) { + assert.ok(!result); + done(); + }); + }, 20); + }); + }); }); }); });