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(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。