现在的位置: 首页 > 综合 > 正文

为什么要用SQL依赖缓存

2013年06月12日 ⁄ 综合 ⁄ 共 553字 ⁄ 字号 评论关闭

ASP.NET自带的缓存机制还是比较多,主要分为页面缓存,API缓存;

页面缓存

使用输出缓存,你可以缓存最后输出的HTML页面,当相同的页面再次请求的时候,ASP.NET不会再执行页面的生命周期和相关代码而是直接使用缓存的页面,语法如下:

<%@ OutputCache Duration=”60” VaryByParam=”None”  %> 

 

     Duration 属性设置页面将被缓存60妙。任何的用户请求都会被缓存,在缓冲的60秒内相同的请求都会直接使用缓存的页面。当缓存过期后ASP.NET会再次执行页面代码并且为下一个60秒创建一个新的HTML缓存。

但是这样当后台数据更新时,缓存必须要到固定时间过期后才会去除,从而更新前台数据

 

为了解决这个问题,ASP.NET+SQLServer 出现了一个SQL依赖缓存,当数据库数据变化时自动删除缓存,主要分为基于轮询的SQL依赖缓存和基于通知的SQL依赖缓存,

基于轮询的缓存:对Select语句没有要求,不过要指定表,当表更新时删除缓存,不过有个缺点就是只要表的一个数据更新,关于这个表的缓存都会被删除,还有就是要指定多长时间检测数据库表是否有更新,对数据库压力比较大

基于通知的缓存:相对基于轮询的SQL依赖缓存,比较智能,可以精确到行,不过对Select语句要求很高

抱歉!评论已关闭.