Windows Azure Cache Extension Library

Overview

WACEL provides implementation of high-level data structures that can be shared among your services and application. You can use WACEL data structures just as if you were using local data structures such as arrays, tables, circular buffers and OLAP cubes, and these data structures are backed by Windows Azure Cache, Windows Azure In-Role Cache, Redis, Windows Azure Table Storage, or combinations of them, depends on your needs of performance and persistence. WACEL provides:
  • Common data structures such as Arrays, Circular Buffers, Queues, Dictionaries and Multi-dimensional Cubes. And more data structures are to be added with new releases of the library.
  • Easy coding model. You use these data structures just as if you were using local, in-memory data structures. Your system can be reconfigured to use different backend services, or to use multiple backend services at the same time, without modifying your data access code.
  • Balance between performance and high availability. You can back up your data structures with any number of backend services to achieve best performance-availability balance for your scenarios. For example, you can back your data structure with a Windows Azure Cache cluster as well as a Windows Azure Table Storage table. Data is accessed via the cache cluster for faster performance, and is stored in the table for reliable persistence.

Sample Scenarios

Easy Cube

 
hourly.png http://wacel.cloudapp.net/Demo/Cube
This demo Cube has 3 dimensions with 421,632 Nodes. A background work keeps generating random numbers for all 5-minute slots in the current hour. And the numbers are automatically rolled up along dimensions with statistics such as minimum, maximum, and median automatically calculated.


Cached Table

 
customers.pnghttp://wacel.cloudapp.net/Demo/Table
This demo allows you to page through a Customer table with 1,000,000 rows. Records are loaded to cache by pages for faster accesses.



Getting Started

  1. Install WACEL Nuget package.
  2. If you are using Windows Azure Cache as backend, configure cache connection in your application configuration file.
  3. New up the data structure and you are ready to go!
For example, to create a huge integer array that can be shared among your cloud services, web sites and Windows 8 applications, simply write:

Cache.Array<int> array = new Cache.Array<int>("demoarray", long.MaxValue);

Then, you can access the array from your services and applications just as if it was a local array:

array[12345] = 483;
Console.WriteLine(array[12345]);

Additional Resources

Last edited Jan 22 at 5:18 PM by Haishi, version 22