Skip to content

jcfant/cacheJS

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

cacheJS, A Client Side caching tool
==================================================

cacheJS is a lightweight (721 bytes minified) client side caching tool. Used to 
cache complex data structures. It will keep items in memory for as long as your app
is running. Also, if you enable persistStorage, it will keep a copy in the HTML5 localStorage.

Options
------------
By default, persistStorage is turned on. If you would like to turn it off:

	<script type='text/javascript' src='/your/path/to/cacheJS.js'></script>	

	cacheJS.options({ persistStorage : false });

Example
------------

	<script type='text/javascript' src='/your/path/to/cacheJS.js'></script>
	
	SETTING DATA 
	
	// String
	cacheJS.set("SOMEKEY", "works");
	
	// Boolean
	cacheJS.set("SOMEKEY", true);
	
	// Number
	cacheJS.set("SOMEKEY", 1);
	
	// Object
	cacheJS.set("SOMEKEY", { some : "item" } );
	
	GETTING DATA
	
	cacheJS.get("SOMEKEY");
	
Usage
------------

Just an example on how I can see this being used.

	function getUserData() {
		// CHECK THE CACHE TO SEE IF WE HAVE ALREADY LOADED THIS DATA
		// May already be set in local storage
		
		var data = cacheJS.get("USERDATA" + this.user);
		if (typeof data === "undefined"){

			$.ajax({
				url: "/getUserData.json",
				dataType : json,
				success: function(data){
				cacheJS.set("USERDATA" + this.user, data);
				this.userData = data;
			});
	    }else{
	        this.userData = data;
	    }
	};
	
	

Environments
------------

cacheJS can be used as a Node module out of the box:

    var CACHEJS = require("cacheJS.js").cacheJS;

Tests
-----

To run tests you will need to install [node.js](http://nodejs.org/). 

From the command line:

	cd tests;
	node runTests.js

Releases

No releases published

Packages