缓存过滤器相关属性介绍
Duration 缓存内容过期时间(秒)
Location 缓存的位置(客户端/服务器)
VaryByParam 通过客户端请求参数的不同值来缓存多份数据
VaryByHeader 通过RequestHeader的参数的不同取值来缓存多份数据
CacheProfile 将缓存配置写到配置文件中,引用配置文件的配置属性
SqlDependency 数据库缓存,缓存依赖的表名
使用缓存过滤器可以减少服务器高并发的压力
用法1:设置缓存内容周期
如下图所示,在需要缓存得action上方写上如下所示代码,我这里定义的10秒钟,即访问此action后,在浏览器里,10秒内的每次刷新请求都不会反馈到服务器,等10秒过后,再次刷新请求即在此访问服务器获取数据。
用法2:设置缓存过滤器的多个参数
如下图所示,在缓存过滤器中,我们又增加了id参数。即当id等于1时,action以1传入,得到的视图保存10秒钟,这10秒钟多次的以id等于1请求刷新均不会请求到服务器,但是当id改为2请求刷新时,视图为id等于2的视图,同时,id等于2的视图缓存周期为10秒,而id为1的视图仍是第一次访问的10秒内计时,各自id的缓存时间计时是独立的。
用法3:在配置文件里web.config添加缓存过滤器
我们可以换种方式实现用法2的缓存过滤器,在项目的web.config文件里添加红框内的代码,即创建一个名为myCache的过滤器,参数为60秒缓存和id更换时重新缓存。(与用法2的缓存过滤器效果一致)
当我们的web.config文件配置好了之后就可以应用在action之上了,具体代码如下所示。
这样做,程序布置给用户之后,只需要更改配合文件就好了。