Utilizar cache en nuestra Api o en nuestro componentes de datos es muy importante ya que es muy común que existan cientos de datos que son consultados constantemente por el usuario y que no se modifican mucho en el tiempo entonces para poder descongestionar la base de datos podemos usar un servidor de cache que responde mas rápido a cualquier requerimiento de datos.
cacheadapter es un nuget en . net (https://www.nuget.org/packages/Glav.CacheAdapter/) que nos permite administrar de manera fácil y distintos modos para administrar el cache:
1. In Memory cache (config setting=”memory”)
2. ASP.NET web cache (config setting=”web”)
3. Distributed AppFabric cache. (config setting=”AppFabric”)
4. Distributed memcached cache. (config setting=”memcached”)
Invocando entonces nuestro nuget podemos crear un método para guardar y otro para obtener información que se encuentre en Cache sin importar en que servidor se este guardando:
internal const int INTIME = 3;
/// <summary>
/// Get the data object with identifier
/// </summary>
/// <param name=”strKey”>identifier of the data</param>
/// <returns>return the data</returns>
public static object Get(string strKey)
{
var cacheProvider = AppServices.Cache;
var data = cacheProvider.Get<object>(strKey, DateTime.Now.AddSeconds(INTIME), () => { return null; });
return data;
}
/// <summary>
/// Set in the cache server the value
/// </summary>
/// <typeparam name=”T”>Type of data to Set</typeparam>
/// <param name=”strKey”>identifier of the data</param>
/// <param name=”obj”>object data</param>
/// <param name=”intTimeExpiry”>Time in seconds of Expiry data Defaul:86400 = one day</param>
/// <returns></returns>
public static bool Set<T>(string strKey, T obj, int intTimeExpiry = 86400)
{
try
{
var cacheProvider = AppServices.Cache;
cacheProvider.Add(strKey, DateTime.Now.AddSeconds(intTimeExpiry), obj, null);
return true;
}
catch (Exception)
{
return false;
}
}
En el siguiente Link les dejo el codigo donde pueden encontrar el ejemplo mas completo y ver el CacheManager que cree a partir de cacheAdapter espero les sirva:
https://onedrive.live.com/redir?resid=261445BD18D3146D%21121
Un comentario en «Crear un administrador de cache usando cacheadapter»
Los comentarios están cerrados.