angular-cache-service
v0.0.8
Published
The service provides ability to cache client data
Downloads
107
Maintainers
Readme
The cache service handles client-side caching (almost about any object can be cached on the client). The cache mechanism implemented by this service uses either { indexedDB | webSQL | localStorage | sessionStorage | polyFill } in the specified order of availability.
To ensure better performance, when used in pagination, only pages navigated by users shoube be cached. For example: in a page 1 to 10 result; if user navigate page 1, 3 and 7; only the mentioned three pages (1, 3 & 7) should be cached....however it's still up to you to determine what's cached.
Supported Browsers:
Table of Contents
Installation and Usage
Install from repo
npm install angular-cache-service --save-dev
Add as dependency and use
angular.module('myApp', ['angular-cache-service'])
.controller('myCtrl', [ 'cacheService' ], function (cacheService) {
// create cache
cacheServiceInstance = cacheService.create(); // use cacheService.getNewInstance() for prototype cache
// initialize cache
cacheServiceInstance.init({
// name of cacheDB.
dbName : "myDB",
// name of cacheTable.
entityName : "myEntity",
// cache current page for next 30min
maxAge : 60000,
// INDEXED_DB | WEB_SQL | LOCAL_STORAGE | SESSION_STORAGE | POLY_FILL
cacheType : cacheServiceInstance.cacheType.POLY_FILL,
// delete the first 5 cached items when storage full .
deletableCacheItems : 5
});
var uid = (new Date()).valueOf().toString();
cacheServiceInstance.save(uid, uid).then(function(savedStatus) {
console.log("savedStatus: " + savedStatus);
});
cacheServiceInstance.get(uid).then(function(result) {
console.log("result: " + result);
});
cacheServiceInstance.length().then(function(size) {
console.log("size: " + size);
});
cacheServiceInstance.remove(uid).then(function() {
console.log("removed: " + uid);
});
cacheServiceInstance.clear().then(function() {
console.log("cleared " + cacheServiceInstance.getStorage().dbName + ' .....');
});
});
API
// supported cache mechanism
cacheType
// storage handle
getStorage()
// storage availability
storeQuotaExceeded
// check storage availability and usability
storageExist
// cache service initialization
init(initData)
// persist cached data
save(key, value
// remove cached data
remove(key)
// retrieve cached data
get(key)
// compute size of cached storage
length()
// clear cache storage
clear()