sqlCachedependency【数据缓存依赖】 的使用

来源:互联网 发布:mac建文件夹 编辑:程序博客网 时间:2024/05/20 23:31

【新手】文章

 

 为提高页面性能,对数据进行缓存是个不错的办法,但我们以前在页头加上<%@ OutputCache VaryByParam="none" Duration="60" %>,这个确实对数据进行缓存了,但不能及时更新,要等到设置的时间失效才会显示最新的数据,我想这样的话索性不用它。但为了性能,我不得不找寻办法。

我想要是缓存能够根据数据的变化而更新的话,那就太好了,后来,我找到了sqlCachedependency【数据缓存依赖】,花了半天的时间把它拿下。

下面是sqlCachedependencyd的配置方法:

 

1.打开命令窗口。

点击:开始 - 所有程序 - visual studio 2008 - visual studio tool - 命令提示

 

2.输入命令提示符。

aspnet_regsql -S localhost -U sa -P sa -d databasename -t articles -et


localhost - 数据库服务器,sa - 账号,sa - 密码, databasename - 数据库, articles - 表名   -et表示允许对数据表采用sqlcachedependency功能,具体参数见下表:

 


参数意义-?显示该工具的帮助功能.-S后接的参数为数据库服务器的名称或者IP地址-U后接的参数为数据库的登陆用户名.-P后接的参数为数据库的登陆密码-E当使用windows集成验证时,使用该功能-t后接参数为对哪一个表采用sqlcachedependency功能。-d后接参数为对哪一个数据库采用sqlcachedependency功能-ed允许对数据库使用sqlcachedependency功能-dd禁止对数据库采用sqlcachedependency功能-et允许对数据表采用sqlcachedependency功能-dt

禁止对数据表采用sqlcachedependency功能

-lt列出当前数据库中有哪些表已经采用sqlcachedependency功能

 

在执行此操作后,数据库中会自动增加一张表和相关的存储过程

 

3.配置web.config 文件:

在system.web节点增加caching节点,如下:

 

<connectionStrings>

    <add name="ConnStr" connectionString="server=.; uid=sa; pwd=sa; database=Education; pooling=true; min pool size=0; max pool size=2000; load balance timeout=600;" providerName="System.Data.SqlClient"/>

  </connectionStrings>

 

 

<system.web>


<caching> <sqlCacheDependency enabled="true" pollTime="10000"> <databases> <add name="sqlCache" connectionStringName="ConnStr"  [注:此处为连接字符串的名称]

                pollTime="10000" [缓存时间-10分钟]/> </databases> </sqlCacheDependency> </caching>


</system.web> 

      配置web.config完毕

 

4.在需要缓存页面如web.aspx的页头添加如下代码:

<%@ OutputCache VaryByParam="none" Duration="60" SqlDependency="sqlCache:articles" %>

说明:sqlCache 为web.config文件 databases节点的name,这里需要一致,articles 为使用缓存依赖的表

 

5.建一个项目测试,放一个文本控件Label,在后台把它赋值为当前时间,

         再在下面放一张表,显示articles文章表的数据,刷新,看效果,看label的值是否变化,多试几

         次,再到articles 表里修改一下数据,再刷新,看label的值又是否变化

 

        6. OK 拉

若有问题,请留言!

 

 


原创粉丝点击