SqlCacheDependency基于多个数据库表,多个数据库的缓存运用
当一个页面信息来自不同的数据库,不同的表,此时非常必要对数据库信息进行缓存,减少不必要的连接数据库和读取数据库信息,而是直接从缓存中读取。
要使用SqlCacheDependency+outputcache指令进行数据缓存,必须确保每个数据库,需要缓存的表都开启了SqlCacheDependency,具体如何开启请参考ASP.NET 2.0 中的SqlCacheDependency特性。
当开启完毕并且设置好web.config相关信息后,就可以使用OutputCache指令了。
假设一个页面需用要到blog和Northwind数据,则相关配置信息如下。
web.config
要使用到多个数据库,多个表的aspx页面的Outputcache指令的值
监视多个表和多个数据库时,SqlDependency的值需要英文状态下的分号“;”分隔开每个要监视的数据库表对象。对于SqlDependency的值的格式,请参考SqlCacheDependency无法在配置中找到“Northwind”数据库错误。简单来说就是分号“;”前面的值是databases配置节下的节点name的值,而不是连接到数据库的名称,如果使用数据库名称,程序则会出错。
原创文章,转载请注明出处:SqlCacheDependency基于多个数据库表,多个数据库的缓存运用
要使用SqlCacheDependency+outputcache指令进行数据缓存,必须确保每个数据库,需要缓存的表都开启了SqlCacheDependency,具体如何开启请参考ASP.NET 2.0 中的SqlCacheDependency特性。
当开启完毕并且设置好web.config相关信息后,就可以使用OutputCache指令了。
假设一个页面需用要到blog和Northwind数据,则相关配置信息如下。
web.config
+展开
-XML
<connectionStrings>
<add name="db" connectionString="server=.;database=Northwind;uid=sa;pwd=;" providerName="System.Data.SqlClient"/>
<add name="blog" connectionString="server=.;database=blog;uid=sa;pwd=;" providerName="System.Data.SqlClient"/>
</connectionStrings>
<system.web>
<caching>
<sqlCacheDependency enabled="true">
<databases>
<add name="db" connectionStringName="db" pollTime="60000"/>
<add name="blog" connectionStringName="blog" pollTime="60000"/>
</databases>
</sqlCacheDependency>
</caching>
</system.web>
<add name="db" connectionString="server=.;database=Northwind;uid=sa;pwd=;" providerName="System.Data.SqlClient"/>
<add name="blog" connectionString="server=.;database=blog;uid=sa;pwd=;" providerName="System.Data.SqlClient"/>
</connectionStrings>
<system.web>
<caching>
<sqlCacheDependency enabled="true">
<databases>
<add name="db" connectionStringName="db" pollTime="60000"/>
<add name="blog" connectionStringName="blog" pollTime="60000"/>
</databases>
</sqlCacheDependency>
</caching>
</system.web>
要使用到多个数据库,多个表的aspx页面的Outputcache指令的值
+展开
-HTML
<%@ OutputCache Duration="3600" SqlDependency="db:Employees;blog:blog" VaryByParam="none" %>
监视多个表和多个数据库时,SqlDependency的值需要英文状态下的分号“;”分隔开每个要监视的数据库表对象。对于SqlDependency的值的格式,请参考SqlCacheDependency无法在配置中找到“Northwind”数据库错误。简单来说就是分号“;”前面的值是databases配置节下的节点name的值,而不是连接到数据库的名称,如果使用数据库名称,程序则会出错。
加支付宝好友偷能量挖...
原创文章,转载请注明出处:SqlCacheDependency基于多个数据库表,多个数据库的缓存运用