<< HOME

Javascript LRU Cache

Introduction

Just a simple LRU cache written in javascript. It is loosely based on ASP.NET's Cache, and includes many caching options such as absolute expiration, sliding expiration, cache priority, and a callback function. It can be used to cache data locally in the user's browser, saving a server roundtrip in AJAX heavy applications.

Download

How It Works

		// Create a new cache item
		// The constructor accepts an optional integer 
		// parameter which places a limit on how many 
		// items the cache holds
		var cache = new Cache();
		
		// add an item to the cache
		// parameters: key - the key to refer to the object
		//             value - the object to cache
		//             options - an optional parameter described below
		// the last parameter accepts an object which controls various caching options:
		//      expirationAbsolute: the datetime when the item should expire
		//      expirationSliding: an integer representing the seconds since
		//                         the last cache access after which the item
		//                         should expire
		//      priority: How important it is to leave this item in the cache.
		//                You can use the values CachePriority.Low, .Normal, or 
		//                .High, or you can just use an integer.  Note that 
		//                placing a priority on an item does not guarantee 
		//                it will remain in cache.  It can still be purged if 
		//                an expiration is hit, or if the cache is full.
		//      callback: A function that gets called when the item is purged
		//                from cache.  The key and value of the removed item
		//                are passed as parameters to the callback function.
		cache.setItem("A", "1", {expirationAbsolute: null, 
		                         expirationSliding: 60, 
		                         priority: CachePriority.High,
		                         callback: function(k, v) { alert('removed ' + k); }
		                        });
		                        
		// retrieve an item from the cache
		// takes one parameter, the key to retreive
		// returns the cached item
		cache.getItem("A");
		
		// clears all items from the cache
		cache.clear();
		

Example

Create a new cache
Size:
Add an item to the cache
Key:
Value:
Absolute Expiration:
Sliding Expiration: (s)
Priority:
Callback:
Get item from cache
Key:
Clear the cache  

Contact

Please send any questions or comments to .
<< HOME