Caching is the technique for storing frequently used data on the server to fulfill subsequent requests. there are a lots of way to store data in cache. Object Caching is one of them. Object Cache stores data in simple name/value pairs.
To Use this we need to use System.Runtime.Caching namespace. this is introduced in .Net 4.0.
here I'm going to create a simple example to store data in Object Cache.
first, you need to add a reference of System.Runtime.Caching object in your project.
To add value in Cache, create a function like this
public void SetCache(object value, string key)
{
ObjectCache cache = MemoryCache.Default;
cache.Add(key, value, DateTime.Now.AddDays(1));
}
In the above code, the first line is used to reference to the default MemoryCache instance. Using the new .NET Caching runtime, you can have multiple MemoryCaches inside a single application.
In the next line we are adding the object to the cache along with a key. The key allows us to retrieve this when you want.
To Get the Cache object you can create a new function like below
public string GetCache(string key)
{
ObjectCache cache = MemoryCache.Default;
return (string)cache[key];
}
You can create the above function more reusable
static readonly ObjectCache Cache = MemoryCache.Default;
/// <summary>
/// get cached data
/// </summary>
/// <typeparam
name="T">Type of cached data</typeparam>
/// <param
name="key">Name of cached data</param>
/// <returns>Cached data as type</returns>
public static T Get<T>(string key) where T : class
{
try
{
return (T)Cache[key];
}
catch
{
return null;
}
}
I am attaching a little class, which you can easily use in your projects to use Caching.