MVC缓存简介
缓存是将信息(数据或页面)放在内存中以避免频繁的数据库存储或执行整个页面的生命周期,直到缓存的信息过期或依赖变更才再次从数据库中读取数据或重新执行页面的生命周期。在系统优化过程中,缓存是比较普遍的优化做法和见效比较快的做法。 MVC缓存本质上还是.NET的一套缓存体系,只不过该缓存体系应用在了MVC框架上
缓存的常用场景:
数据被频繁的使用,并且很少发生变化或对即时性的要求不高。
Control缓存
Control缓存即是把缓存应用到整个Control上,该Control下的所有Action都会被缓存起来。Control缓存的粒度比较粗,应用也比较少些。
在名为Control的Control中加入了OutputCache,并设置持续时间为10秒(Duration=10),即每10秒后过期当再次触发时更新缓存。
Index
Index1
Index Index1 点击刷新页面 10秒刷新一次时间
Action缓存
即把缓存用到Action上,Action缓存为比较常用的缓存方式,该方式粒度细一些。使用方法类似Control缓存。
Index加入了缓存,而Index1没有加。此时Index1每次刷新页面都会取到当前的时间
而Index每10秒后过期当再次触发时取到当前的时间
使用配置文件
当我们需要将N个Control或Action加入缓存,并且缓存的参数是一致的情况下,我们可以把相关的设置放到Web.config中,并在程序中加入相应的配置。
配置缓存节只需要将其放在system.web节下即可,下面是使用的方法
注:当Control与Action都应用了缓存时,以Action的缓存为主。
Index 10秒后过期当再次触发时取到当前的时间