首页 > 代码库 > 探索ASP.NET MVC5系列之~~~5.缓存篇(页面缓存+二级缓存)
探索ASP.NET MVC5系列之~~~5.缓存篇(页面缓存+二级缓存)
其实任何资料里面的任何知识点都无所谓,都是不重要的,重要的是学习方法,自行摸索的过程(不妥之处欢迎指正)
汇总:http://www.cnblogs.com/dunitian/p/4822808.html#mvc
本章Demo:https://github.com/dunitian/LoTCodeBase/blob/master/NetCode/6.网页基础/BMVC5/MVC5Base/Controllers/CacheController.cs
这次来篇放松的,咱们不要老是说安全相关的东西。缓存这东西并不是MVC独有的,N年前就有了,简单介绍一下平时项目里面使用的(Redis,Memcache等下次说)
1.页面缓存:
先说最常见的的一种:[OutputCache(Duration = 100)] ,Duration单位是秒
第一次回到了断点的地方,100秒内任意刷新都不会再执行控制器里面的A()了
带参数缓存
[OutputCache(Duration = 100, VaryByParam = "id")] [OutputCache(Duration = 100, VaryByParam = "id;name")]
第一次访问cache/b?id=1的时候断点停下了,100s内不会进入断点了。当id=2的时候又重新进入了断点。多参数类似,注意一下参数分割是;
---------------------------------------------------------------------------------------------------
2.二级缓存:(System.Web;System.Web.Caching;)
2.1绝对过期缓存
HttpRuntime.Cache.Add(key, list, null, DateTime.Now.AddSeconds(60), Cache.NoSlidingExpiration, CacheItemPriority.Default, null);
2.2相对过期缓存(有点Session的感觉了)
HttpRuntime.Cache.Add(key, list, null, Cache.NoAbsoluteExpiration, new TimeSpan(0, 0, 10), CacheItemPriority.Default, null);
2.3数据库依赖缓存
参数详解:https://msdn.microsoft.com/zh-cn/library/ms229862
其他:文件依赖缓存,很少用,一般是根据文件最后一次修改时间来判断时间差
其他内容可以参考博友的这篇文章:http://www.cnblogs.com/knowledgesea/p/3904929.html
待续。。。。。。
探索ASP.NET MVC5系列之~~~5.缓存篇(页面缓存+二级缓存)