0.0.8 • Published 10 years ago
zoo-cache v0.0.8
zoo-cache
Universal caching solution
Features
- Customizable inner data store
- Customizable inner data region
- Support cache item expire and expire callback
- Events on operating cache item
Installation
$ npm install zoo-cache
Data store
Store is the inner core data storage. We can implement it to store data in memory or database etc. There is already a MemoryStore builtin in this solution. Will use MemoryStore when user doesn't specified the store option.
var cache = require('zoo-cache');
// change default store
cache.defaultStore(new MongoStore());
Data region
Region is a subset of the data store.
var cache = require('zoo-cache');
// animals set
var animals = cache.region('animals');
// or specified a store
var animals = cache.region('animals', new MongoStore());
API
Friendly and simply api.
var cache = require('zoo-cache');
// animals set
var animals = cache.region('animals');
// api list
animals.sto(); // get or set inner store of current region
animals.set('cat', 'cat-mvc');
animals.get('cat');
animals.remove('cat');
animals.exists('cat');
animals.all();
animals.count();
animals.clear();
Caching expire
User can specify a absolute expire date to cache item and a expire callback also available.
// full api
animals.set(key, val, expire, notify);
// example
animals.set('cat', 'cat-mvc', new Date(), function(param) {
console.log(param.value + ' is ' + param.action);
});
Store events
All data changes events of the inner data store.
var store = animals.sto();
store.on('set', function(param) { /* param.region, param.key, param.value */ });
store.on('remove', function(param) { /* param.region, param.key */ });
store.on('clear', function(param) { /* param.region */ });
Tests
$ npm install
$ npm test