欢迎来到天天文库
浏览记录
ID:37791139
大小:19.26 KB
页数:4页
时间:2019-05-31
《系统缓存全解析1:数据库缓存依赖》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、更多的时候,我们的服务器性能损耗还是在查询数据库的时候,所以对数据库的缓存还是显得特别重要,上面几种方式都可以实现部分数据缓存功能。但问题是我们的数据有时候是在变化的,这样用户可能在缓存期间查询的数据就是老的数据,从而导致数据的不一致。那有没有办法做到,数据如果不变化,用户就一直从缓存中取数据,一旦数据变化,系统能自动更新缓存中的数据,从而让用户得到更好的用户体验。答案是肯定的!.NET已经为我们提供了这样一种非常好的解决方法:SqlCacheDependency数据库缓存依赖。实现步骤:下面就让我们
2、看一下如何实现数据库缓存依赖功能:第一步:修改web.config,让项目启用SqlCacheDependency。将下列代码加入web.config的节:3、a;password="providerName="System.Data.SqlClient"/>4、ompilationdebug="true">这里的connectionStringName指定了在中添加的某一个连接字符串。name则是为该SqlCacheDependency起的名字,这个名字将在第3步中用到。SqlCacheDependency类会自动完成对此配置节信息的读取以建立和数据库之间的联系。注意:在5、atabases>节的中的name属性值必须和第三步的Page_Load代码中System.Web.Caching.SqlCacheDependency("codematic","P_Product");中的第一个参数(数据库名称)相一致。第二步:执行下述命令,为数据库启用缓存依赖。如果要配置SqlCacheDependency,则需要以命令行的方式执行。aspnet_regsql.exe6、工具位于Windows\Microsoft.NET\Framework\[版本]文件夹中。aspnet_regsql-C"datasource=127.0.0.1;initialcatalog=codematic;userid=sa;password="-ed-et-t"P_Product"参数-C后面的字符串是连接字符串(请替换成自己所需要的值),参数-t后面的字符串是数据表的名字。运行结果如图15-3所示:图15-3启用数据库缓存依赖命令执行后,在指定的数据库中会多出一个AspNet_Sql7、CacheTablesForChangeNotification表。注意:要使得7.0或者2000版本以上的SQLServer支持SqlCacheDependency特性,需要对数据库服务器执行相关的配置。有两种方法配置SQLServer:一使用aspnet_regsql命令行工具,二使用SqlCacheDependencyAdmin类。例如:aspnet_regsql-S"server"-E-d"database"–ed或者aspnet_regsql-S"server"-E-d"database"-8、et-t"table"如果是Sql验证的话要把-E换成,-U(用户名),-P(密码)以下是该工具的命令参数说明:-?显示该工具的帮助功能;-S后接的参数为数据库服务器的名称或者IP地址;-U后接的参数为数据库的登陆用户名;-P后接的参数为数据库的登陆密码;-E使用当前登录用户的Windows集成认证进行身份验证。-d后接参数为对哪一个数据库采用SqlCacheDependency功能;-C连接数据库的连接字符串。如果您指定服务器(-S)和登录(-U和-P
3、a;password="providerName="System.Data.SqlClient"/>
4、ompilationdebug="true">
5、atabases>节的中的name属性值必须和第三步的Page_Load代码中System.Web.Caching.SqlCacheDependency("codematic","P_Product");中的第一个参数(数据库名称)相一致。第二步:执行下述命令,为数据库启用缓存依赖。如果要配置SqlCacheDependency,则需要以命令行的方式执行。aspnet_regsql.exe
6、工具位于Windows\Microsoft.NET\Framework\[版本]文件夹中。aspnet_regsql-C"datasource=127.0.0.1;initialcatalog=codematic;userid=sa;password="-ed-et-t"P_Product"参数-C后面的字符串是连接字符串(请替换成自己所需要的值),参数-t后面的字符串是数据表的名字。运行结果如图15-3所示:图15-3启用数据库缓存依赖命令执行后,在指定的数据库中会多出一个AspNet_Sql
7、CacheTablesForChangeNotification表。注意:要使得7.0或者2000版本以上的SQLServer支持SqlCacheDependency特性,需要对数据库服务器执行相关的配置。有两种方法配置SQLServer:一使用aspnet_regsql命令行工具,二使用SqlCacheDependencyAdmin类。例如:aspnet_regsql-S"server"-E-d"database"–ed或者aspnet_regsql-S"server"-E-d"database"-
8、et-t"table"如果是Sql验证的话要把-E换成,-U(用户名),-P(密码)以下是该工具的命令参数说明:-?显示该工具的帮助功能;-S后接的参数为数据库服务器的名称或者IP地址;-U后接的参数为数据库的登陆用户名;-P后接的参数为数据库的登陆密码;-E使用当前登录用户的Windows集成认证进行身份验证。-d后接参数为对哪一个数据库采用SqlCacheDependency功能;-C连接数据库的连接字符串。如果您指定服务器(-S)和登录(-U和-P
此文档下载收益归作者所有