系统缓存全解析1:数据库缓存依赖.docx

系统缓存全解析1:数据库缓存依赖.docx

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
系统缓存全解析1:数据库缓存依赖

更多的时候,我们的服务器性能损耗还是在查询数据库的时候,所以对数据库的缓存还是显得特别重要,上面几种方式都可以实现部分数据缓存功能。但问题是我们的数据有时候是在变化的,这样用户可能在缓存期间查询的数据就是老的数据,从而导致数据的不一致。那有没有办法做到,数据如果不变化,用户就一直从缓存中取数据,一旦数据变化,系统能自动更新缓存中的数据,从而让用户得到更好的用户体验。答案是肯定的!.NET已经为我们提供了这样一种非常好的解决方法:SqlCacheDependency数据库缓存依赖。实现步骤:下面就让我们看一下如何实现数据库缓存依赖功能:第一步:修改web.config,让项目启用SqlCacheDependency。将下列代码加入web.config的system.web节:?xml version=1.0?configuration appSettings/ connectionStrings add name=strcodematic connectionString=data source=;initial catalog=codematic;user id=sa;password= providerName=System.Data.SqlClient / /connectionStrings system.web caching sqlCacheDependency enabled=true pollTime=6000 databases add name=codematic connectionStringName=strcodematic / /databases /sqlCacheDependency /caching compilation debug=true /compilation authentication mode=Windows/ /system.web/configuration这里的connectionStringName指定了在connectionStrings中添加的某一个连接字符串。name则是为该SqlCacheDependency起的名字,这个名字将在第3步中用到。SqlCacheDependency类会自动完成对此配置节信息的读取以建立和数据库之间的联系。注意:在databases节的add name=codematic connectionStringName=strcodematic /中的name属性值必须和第三步的Page_Load代码中System.Web.Caching.SqlCacheDependency(codematic, P_Product); 中的第一个参数(数据库名称)相一致。第二步:执行下述命令,为数据库启用缓存依赖。如果要配置SqlCacheDependency,则需要以命令行的方式执行。aspnet_regsql.exe工具位于Windows\\Microsoft.NET\\Framework\\[版本]文件夹中。aspnet_regsql -C data source=;initial catalog=codematic;user id=sa;password= -ed -et -t P_Product参数-C后面的字符串是连接字符串(请替换成自己所需要的值),参数-t后面的字符串是数据表的名字。运行结果如图15-3所示:图15-3 启用数据库缓存依赖命令执行后,在指定的数据库中会多出一个AspNet_SqlCacheTablesForChangeNotification表。注意:要使得7.0或者2000版本以上的SQLServer支持SqlCacheDependency特性,需要对数据库服务器执行相关的配置。有两种方法配置SQLServer:一使用aspnet_regsql命令行工具,二使用SqlCacheDependencyAdmin类。例如:aspnet_regsql -S server -E -d database –ed或者aspnet_regsql -S server -E -d database -et -t table如果是Sql验证的话要把-E换成,-U (用户名),-P (密码)以下是该工具的命令参数说明:-? 显示该工具的帮助功能;-S 后接的参数为数据库服务器的名称或者IP地址;-U 后接的参数为数据库的登陆用户名;-P 后接的参数为

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档