五、数据库缓存依赖

      上一篇返回目录 | 下一篇

      对于普通文件的读取,上一篇的缓存已经足够了,但是平时更多的是和数据库进行交互,所以,本篇的这个缓存相对来说,要重要一些。数据库依赖缓存在.NET平台下面有很好的解决方案:SQLCacheDependency,相对于上面的文件缓存来说,这个实现要稍微复杂一点,代码如下(我使用的是Temp数据库,内建表:tbl_Cache,字段任意,并且任意添加了一行数据):

      首先修改web.config,添加连接字符串,并且在system.web中配置使其支持数据库缓存依赖。

数据库连接字符串

 

在system.web中配置

 

      在配置完web.config之后,需要开启数据库的缓存依赖功能。这里需要用到的是aspnet_regsql.exe这个工具,该工具位于Windows\Microsoft.NET\Framework\[版本]文件夹中,不过不是直接执行该工具,而是通过命令模式来运行。

      在点击了开始——运行,输入cmd回车之后,在命令提示符窗口输入:

aspnet_regsql -C "data source=.;initial catalog=Temp;user id=sa;password=123456" -ed -et -t "tbl_Cache"

      然后回车,可以看到如下图所示窗口:

 

      执行完之后,就为数据库打开的缓存依赖功能,并且在该数据库内还会出现一个名曰“AspNet_SqlCacheTablesForChangeNotification”的表,该表记录的就是您需要监视的数据库的变动情况。
 
      对于该工具,后面的参数详细的解释如下所示:
 
aspnet_regsql.exe 参数解释
 
      接下来就开始编码,在代码中使用缓存。
在代码中使用数据库缓存依赖
 
      上述代码成功执行之后,就为该表开启的数据库缓存依赖功能,这样只有在数据库该表的数据发生变化时才能是缓存失效,并且重新将新的数据添加到缓存中去,这样直到下一次该表数据发生变化。

      上一篇返回目录 | 下一篇

posted @ 2009-07-10 15:19  缺水的海豚  阅读(852)  评论(1编辑  收藏  举报