.net 依赖缓存

缓存——能很好的提高站点的性能。

在访问量大,但更新较少的网站中使用缓存,可以大大提高运行效率;

在.net中给我们提供了很好的缓存机制,页面缓存、数据缓存,还有很好的依赖缓存。

依赖缓存好处就是,跟相依赖的项的改变有关,比如cacheTable表有数据改变时,数据已经缓存了的就会被清楚,重新读取新的数据,能保持数据的实时更新。

头几天学习了下sql 依赖缓存,实现过程和步骤记录下:

环境:windows 2003+IIS6  ,SQL2008+VS2008

 

一、首先在sql2008中创建数据库CacheDB,创建表CacheTable

然后在Visual Studio 命令提示下 运行aspnet_regsql.exe 应用程序(也可以在cmd下找到C:/Program Files/Microsoft Visual Studio 9.0/VC>运行)

直接运行asp.net_regsql.exe创建的是选择的数据库的其他特性表,如:aspnet_Roles  等。

下面以数据库CacheDB,数据表CacheTable为例;

要创建数据库的依赖缓存 须运行如下命令:

aspnet_regsql -S localhost -U sa  -P 123456 -d CacheDB -ed    //打开依赖的数据库,然后在创建依赖数据表

aspnet_regsql -S localhost -U sa  -P 123456 -d CacheDB -et -t CacheTable   //创建依赖数据表

 

当运行以上命令后会出现数据表 : AspNet_SqlCacheTablesForChangeNotification

 

aspnet_regsql 命令参数说明:

 -? 显示该工具的帮助功能;

 -S 后接的参数为数据库服务器的名称或者IP地址;

 -U 后接的参数为数据库的登陆用户名;

 -P 后接的参数为数据库的登陆密码;

 -E 当使用windows集成验证时,使用该功能;

 -d 后接参数为对哪一个数据库采用SqlCacheDependency功能;

 -t 后接参数为对哪一个表采用SqlCacheDependency功能;

 -ed 允许对数据库使用SqlCacheDependency功能;

 -dd 禁止对数据库采用SqlCacheDependency功能;

 -et 允许对数据表采用SqlCacheDependency功能;

 -dt 禁止对数据表采用SqlCacheDependency功能;

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

 

以上步骤是在数据库方面要实现处理的

 

二、配置网站的web.config

在system.web 节点中添加,缓存配置,代码如下

这中方式主要是采用数据查询轮询的方式

 

 

 

参数说明:pollTime:轮换的时间 (毫秒),"CacheDB" :为依赖的数据库,SQLServer :为数据库连接字符串,connectionStringName中的。

三、代码实现

    1、 对页面输出缓存使用轮询SQL缓存依赖
    根据上面的web.config配置
    在要缓存的页面中  <%@ OutputCache Duration="6000" VaryByParam="none" SqlDependency="CacheDB:CacheTable" %>  CacheTable为数据表

当CacheTable数据表有改动时,刷新后会显示新的数据。

  2、对数据缓存使用轮询SQL缓存依赖

      对多个表实现依赖缓存,代码如下:

 

 

 以上代码为在数据缓存中使用的依赖缓存

 

注意:在web.config 中的DBCahce 和页面输出缓存中的DBCache:cahceTabel中 变量的大小写要与在用aspnet_regsql.exe建立 数据缓存那大小写一样

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值