C# Cache缓存读取的设置方法
先创建一个CacheHelper.cs类,代码如下:
usingSystem;
usingSystem.Web;
usingSystem.Collections;
usingSystem.Web.Caching;
publicclassCacheHelper
{
///
///获取数据缓存
///
///键
publicstaticobjectGetCache(stringcacheKey)
{
varobjCache=HttpRuntime.Cache.Get(cacheKey);
returnobjCache;
}
///
///设置数据缓存
///
publicstaticvoidSetCache(stringcacheKey,objectobjObject)
{
varobjCache=HttpRuntime.Cache;
objCache.Insert(cacheKey,objObject);
}
///
///设置数据缓存
///
publicstaticvoidSetCache(stringcacheKey,objectobjObject,inttimeout=7200)
{
try
{
if(objObject==null)return;
varobjCache=HttpRuntime.Cache;
//相对过期
//objCache.Insert(cacheKey,objObject,null,DateTime.MaxValue,timeout,CacheItemPriority.NotRemovable,null);
//绝对过期时间
objCache.Insert(cacheKey,objObject,null,DateTime.Now.AddSeconds(timeout),TimeSpan.Zero,CacheItemPriority.High,null);
}
catch(Exception)
{
//throw;
}
}
///
///移除指定数据缓存
///
publicstaticvoidRemoveAllCache(stringcacheKey)
{
varcache=HttpRuntime.Cache;
cache.Remove(cacheKey);
}
///
///移除全部缓存
///
publicstaticvoidRemoveAllCache()
{
varcache=HttpRuntime.Cache;
varcacheEnum=cache.GetEnumerator();
while(cacheEnum.MoveNext())
{
cache.Remove(cacheEnum.Key.ToString());
}
}
}
然后是调用:
publicIEnumerableFindCompanys() { varcache=CacheHelper.GetCache("commonData_Company");//先读取 if(cache==null)//如果没有该缓存 { varqueryCompany=_base.CompanyModel();//从数据库取出 varenumerable=queryCompany.ToList(); CacheHelper.SetCache("commonData_Company",enumerable);//添加缓存 returnenumerable; } varresult=(List )cache;//有就直接返回该缓存 returnresult; }
测试结果:
首次加载进来是为null,然后读取数据库,添加进缓存,当前返回前台的是从数据库中取出的数据。
刷新页面,发现缓存中已经有了读出的30条数据,
然后接下来走,返回缓存中的数据:
以上就是C#Cache缓存读取的设置方法的详细内容,更多关于C#Cache缓存读取的资料请关注毛票票其它相关文章!
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。