快捷搜索:   nginx

.Net学习手记: 缓存应用之数据库依赖

想了半天也没想到一个满意的标题,暂且这样吧。
今天终于用到了.net网站中的缓存功能,因为首页有部分数据更新不频繁,如果不缓存起来,每次打开首页都要查询一次数据库,影响性能,查阅了相关资料并实现了对数据库进行监视,如果有变动,则更新缓存。
要实现起来步骤还不少:
1. 为数据库配置为支持缓存依赖项
ASP.NET 提供了一些实用工具,可用于配置 SQL Server 上的 SQL 缓存,其中包括一个名为 Aspnet_regsql.exe 的工具和 SqlCacheDependencyAdmin 类。
Aspnet_regsql.exe配置方法:

这里假如我要监视Blog数据库中的Posts表就需要先配置启用数据库Blog的缓存依赖项:
aspnet_regsql -S localhost\sqlexpress -E -d Blog -ed
这里我用的SQL Server 2005 Express版,所以服务器名称会不同,然后启用Posts表的缓存依赖:
aspnet_regsql -S localhost\sqlexpress -E -d Blog -t Posts -et

SqlCacheDependencyAdmin 类的使用方法参阅这里

需要注意的是,有时候会因为SQL服务的远程连接问题导致启用失败,这时候需要单击开始菜单中SQL 2005的“外围应用配置器”,然后更改如下图所示:

2. 配置Web.config
在节点内加入如下代码:

其中connectionStringName为connectionStrings配置节中的数据库连接字符串名。
pollTime在MSDN官方解释为设置 SqlCacheDependency 轮询数据库表的更改的频率。此值对应于连续两次轮询之间的毫秒数。不能设置为小于 500 毫秒的值。默认值为 1 分钟。

好了,配置完成,就可以在代码中使用了,
MSDN对SqlCacheDependency 类的说明:
在以下两者之间建立关系:一是在 ASP.NET 应用程序的 Cache 对象中存储的项;二是特定 SQL Server 数据库表或 SQL Server 2005 查询的结果。无法继承此类。

下面是一个代码实例:

顶(0)
踩(0)

您可能还会对下面的文章感兴趣:

最新评论