您的位置:首页 > 数据库

SQL数据缓存依赖功能

2011-11-15 18:53 344 查看
首先,了解一下数据库缓存依赖功能吧。

如一个网站上页面首次运行时,显示了数据表中部分数据和页面刷新时间,由于利用·OutputCache指令设置了页面输出缓存(缓存有效时间为1000秒),

因此,很长时间之内,无论如何刷新页面,表格数据和页面刷新时间内容都不应该发生变化。

该页面还同时使用了基于轮询的SQL数据缓存依赖功能,那么修改title数据表中数据(用户可在SQL Server2000中执行UPDATE语句进行修改),

并再次刷新页面时,数据表和页面刷新时间都发生了变化。

这种变化就是SQL缓存依赖功能的作用。

每当经过一个短暂的轮询时间,数据库都会检测一次title数据表中数据是否发生变化。

如果发生变化,则自动移除原有页面输出缓存内容,实施缓存数据更新。

使用SQL数据缓存依赖功能,必须正确实现以下3个步骤:

一是:配置SQL Server数据库,以启用SQL数据库缓存依赖支持

如何实现这一步:1:可以使用“Visual Studio 2005 命令提示”:如果不明白参数配置可以使用apsnet_regsql.exe -? 命令查看帮助文档

//启用数据库依赖功能

aspnet_regsql.exe -S localhost -U sa -P sa -d 数据库名称 -ed

//启用数据库表的依赖功能

aspnet_regsql.exe -S localhost -U sa -P sa -d 数据库名称 -t 表的名称 -et

//关闭数据库的数据缓存依赖功能

aspnet_regsql.exe -S localhost -U sa -P sa -d 数据库名称 -dd

//关闭数据表的数据缓存依赖功能

aspnet_regsql.exe -S localhost -U sa -P sa -d 数据库名称 -t 表的名称 -dt

2:使用SqlCacheDependencyAdmin类实现同样的配置功能

二:配置Web.config文件

<configuration>

<appSettings/>

<connectionStrings>

<add name="pubsConnectionString" connectionString="Data Source=WANGXIAOJUN;Initial Catalog=pubs;Integrated Security=True"

providerName="System.Data.SqlClient" />

</connectionStrings>

<system.web>

<caching>

<sqlCacheDependency enabled="true" pollTime="600">

<databases>

<add name="pubs" connectionStringName="pubsConnectionString"/>

</databases>

</sqlCacheDependency>

</caching>

</system.web>

</configuration>

三:实现具体应用程序,使用SQL数据缓存依赖功能

在页面中使用

<%@ OutputCache Duration="1000" SqlDependency="pubs:jobs" VaryByParam="none" %>

或者在数据源控件中使用

<asp:SqlDataSource ID="SqlDataSource1" runat="server" EnableCaching="true" SqlCacheDependency="pubs:jobs"

ConnectionString="<%$ ConnectionStrings:pubsConnectionString %>"

SelectCommand="SELECT [job_id], [job_desc], [min_lvl], [max_lvl] FROM [jobs]">

</asp:SqlDataSource>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: