jsCache is a fast and small JavaScript library used for caching at client side. It helps you to decrease your server load and increase your application performance by caching api for the time period you want. Not only api you can cache every type of data with desired time you want. It leverage you to organize your caching in different objects with different type of storage and different time for expiry of your caching. Currently it is beta version. Its Awesome, i promise you will love it just check it out.
jsCache is an good alternative for AngularJS $cacheFactory with more powerfull functionality. To know more see Usage in AngularJS
-
$ npm install js-cache-factory --save
-
$ bower install js-cache --save
-
Comming soon ...
```javascript
var cacheObjOptions = {
disableCache : false,
maxAge : 24*60*60*1000, // 24 Hours
removeOnExpire : true,
deleteOnExpire : false,
storageMode : "memory",
onExpireCallback : null, // will be available in upcoming version
recycleFrequency : null, // will be available in upcoming version
capacity : null // will be available in upcoming version
};
```
```javascript
var cacheKeyOptions = {
disableCache : false,
maxAge : null,
removeOnExpire : true,
onExpireCallback : null, // will be available in upcoming version
recycleFrequency : null // will be available in upcoming version
};
```
```html
<script src="js-cache.min.js"></script>
```
```javascript
var cacheObj = jsCache.create("cacheObjName", cacheObjOptions);
```
```javascript
cacheObj.put("key", "value", cacheKeyOptions);
```
```javascript
cacheObj.get("key");
```
That's all you need to do.
You can create multiple objects with different configuration & can store multiple key,values into it.
jsCache is very good alternative for $cacheFactory in AngularJS.
Instead of calling create method
```javascript
var cacheObj = jsCache.create("cacheObjName", cacheObjOptions);
```
You have to call
```javascript
var httpCacheObj = jsCache.createHttpCache("cacheObjName", cacheObjOptions);
```
and pass it to
```javascript
$http({
method: 'GET',
url: "url you provide",
params: obj,
cache : httpCacheObj(cacheKeyOptions)
})
```
That's all else angular will take care of saving & retriving data for http calls.
Except $http api cache procedure is same as mentioned in Getting Started guide.
Comming soon ...
Comming soon ...
Run
$ npm test
Unit test cases are written to test it properly. You can find test cases inside test.js file. Although if you find any issue or you need some extra functionality, anything which you find unconmfortable please let us know or raise issue. We would love to hear from you.
MIT