flexicache
v0.1.13
Published
### Lightweight auto-balancing cache handler with zero dependencies.
Downloads
17
Readme
FlexiCache
Lightweight auto-balancing cache handler with zero dependencies.
FlexiCache automatically balance caches by expiration time, frequency of data accesses, access timeout, maximum stack size and/or memory limit.
Supported Platforms:
- Browser
- Node.js
Supported Module Definitions:
- AMD (RequireJS, Xone)
- CommonJS (Node.js)
- Closure (Xone)
- Global (window)
All Features:
Optional Plugins: (actually unreleased)
Installation
HTML / Javascript
<html>
<head>
<script src="https://cdn.rawgit.com/nextapps-de/flexicache/master/flexicache.min.js"></script>
</head>
...
Node.js
npm install flexicache
In your code include as follows:
var FlexiCache = require("flexicache");
Or pass in options when requiring:
var cache = require("flexicache").create({/* options */});
AMD
var FlexiCache = require("./flexicache.js");
Usage (API)
Create a new cache
var cache = new FlexiCache();
alternatively you can also use:
var cache = FlexiCache.create();
Create a new cache with custom options
FlexiCache.create(options)
var cache = new FlexiCache({
// default values:
expire: 60 * 60 * 1000, // 1 hour
size: 1000,
auto: true,
timeout: false,
memory: false
});
Add items to a cache
Cache.add_(id, *)
cache.add(10000, 'foo');
add more complex objects:
cache.add(10025, {
id: 10025,
name: 'foo'
});
clone and add objects:
cache.add(10025, {
id: 10025,
name: 'foo'
}, true);
Update item of the cache
Cache.update(id, *)
cache.update(10000, 'bar');
clone and update objects:
cache.update(10025, {
id: 10025,
name: 'foo'
}, true);
Remove item to the cache
Cache.remove(id)
cache.remove(10025);
Destroy the cache
cache.destroy();
Initialize the cache
Cache.init(options)
cache.init();
Get info
cache.info();
Returns information about the cache, e.g.:
{
"bytes": 3600356288,
"id": 0,
"auto": false,
"expire": 3600,
"size": 10000,
"status": false
}
Optimize / Cleanup cache
cache.cleanup();
Author FlexiCache: Thomas Wilkerling License: Apache 2.0 License