首页 > 系统服务 > 详细

MemCacheManager

时间:2014-12-18 11:42:59      阅读:347      评论:0      收藏:0      [点我收藏+]

#region Fields

private AreaRepository _areaRepository = new AreaRepository();
private ICacheManager _cacheManager = new MemCacheManager();

#endregion

public List<AreaInfo> GetAreaList(string clientNo)
{

//扩展与委托的使用
return _cacheManager.Get(
CacheSettings.AreaInfo.Get(clientNo), () =>
{
return _areaRepository.GetAreaList(clientNo);
});
}

//////////////////////扩展方法

public static T Get<T>(this ICacheManager cacheManager, CacheInfo cacheInfo, Func<T> acquire)
{
return cacheManager.Get<T>(cacheInfo.Key, cacheInfo.CacheTime, acquire);
}

///////////////////在Extensions.cs扩展

public static T Get<T>(this ICacheManager cacheManager, CacheInfo cacheInfo, Func<T> acquire)
{
return cacheManager.Get<T>(cacheInfo.Key, cacheInfo.CacheTime, acquire);
}

////////////////////cacheExtensions.cs中扩展

public static T Get<T>(this ICacheManager cacheManager, string key, int cacheTime, Func<T> acquire)
{
if (cacheManager.IsSet(key))
{
return cacheManager.Get<T>(key);
}
else
{
var result = acquire();
if (result != null)
cacheManager.Set(key, result, cacheTime);
return result;
}
}

/////////////////////////////////////////

public T Get<T>(string key)
{
if (Memcache.IsEnable)
{
try
{
return (T)memcached.Get(key);
}
catch (Exception ex)
{
ErrorLog.Write("MemCacheManager.Get<T>(" + key + ")", "[-9113]缓存服务_获取缓存项目发生异常", ex);
}
}

 

MemCacheManager

原文:http://www.cnblogs.com/chengjun/p/4171199.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!