ASP.NET的缓存管理
缓存是把应用程序中需要频繁,快速访问的数据保存在内存中的编程技术,一般用来提高网络响应速度。
在ASP.NET2.0中,数据库缓存依赖由sqlCacheDependency类管理
优点:
1. 提高数据呈现速度
2. 单独缓存页面中某一控件而不影响其他数据的变化
3. 数据库表发生更改时,将自动删除缓存项,并在Cache中添加新项,1.1中在数据库发生变化时,不会自动更新。
4. 与SQL缓存依赖项关联时的数据库操作比较简单,不会给服务器带来很高的处理成本。
首先要开启缓存功能:
在配置文件Web.config文件中的System.web节点下,添加开启数据库缓存依赖的代码。
<caching>
<sqlCacheDependency enabled=”true” pollTime=”1000”>
</sqlCacheDependency>
</caching>
/*enabled表示是否开启缓存依赖,pollTime表示查询数据库表的更改频率,不能小于500ms*/
然后就配置缓存依赖的数据库了,咱用SQL Server自带的AdventrueWorks吧
数据库连接配置代码:
<connectionStrings>
<removename="AdventureWorksConnectionString"/>
<addname="AdventureWorksConnectionString"connectionString="Data Source=CGJ;Initial Catalog=AdventureWorks;Integrated Security=True"
providerName="System.Data.SqlClient" />
</connectionStrings>
再在起用缓存配置里加上:
<databases>
<addconnectionStringName="AdventureWorksConnectionString"name="AdventureWorks"pollTime="1000" />
</databases>
缓存依赖就配置成功了。
最后当然就要启用缓存通知了
有两种方法:
1. 启动VS命令行,用“aspnet_regsql.exe”启动安装向导,选择相应数据库,这里是AdventrueWorks。
2. 就在Page_load事件中加上
System.Web.Caching.SqlCacheDependencyAdmin.EnableTableForNotifications(ConfigurationManager.ConnectionStrings["AdventureWorksConnectionString"].ConnectionString,
"Production.Location");
就ok了,然后就可以用了。