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

【新手】文章

 

  为提高页面性能,对数据进行缓存是个不错的办法,但我们以前在页头加上<%@ 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 拉

若有问题,请留言!

 

 


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值