ASP.NET 2.0 --Caching For performance
来源:互联网 发布:用友js面试题 编辑:程序博客网 时间:2024/04/26 01:31
Output Caching
设置缓存时有两种方法:基于底层的API技术和基于高层的@OutputCaching
① <@ OutputCaching Duration="60" VaryByParam="none">可以通过参数VaryByParam缓存不同的页面
②默认情况下,Output Cache 会被缓存到硬盘上,通过修改diskcacheenable的属性来设置其是否缓存,还可以通过在web config里配置缓存文件大小!
<@ OutputCache Duration="3600" DiskCacheEnable="true" VaryByParam="name">
通过使用Substitution来实现缓存
使用API定制缓存
通过设置System.Web.HttpCachePolicy属性来配置下面语句
Response.Cache.SetExpires(Now .AddSeconds(60))
Response.Cache.SetCacheability(HttpCacheablity.Public)
Response.Cache.SetSlidingExpiration(True); //每次请求页时都重新设置过期时间
从 ASP 移植过来的应用程序可能已用 ASP 属性设置了缓存策略;例如:
Response.CacheControl = "Public";
Response.Expires = 60;
Page Fragment Caching
专门用于缓存用户控件,通过指定返回参数,来决定被缓存的部分,使用语句VatyByParam语句指定根据参数来改变。
Data Cache
当首次被请求时,它指出数据是从数据库服务器中显式检索的。刷新页面后,页说明使用的是缓存副本。
<script language="C#" runat="server">
void Page_Load(Object Src, EventArgs E) {
DataView Source;
Source = (DataView)Cache["MyDataSet"];
if (Source == null) {
SqlConnection myConnection = new SqlConnection("server=(local)//NetSDK;database=pubs;Trusted_Connection=yes");
SqlDataAdapter myCommand = new SqlDataAdapter("select * from Authors", myConnection);
DataSet ds = new DataSet();
myCommand.Fill(ds, "作者");
Source = new DataView(ds.Tables["作者"]);
Cache["MyDataSet"] = Source;
CacheMsg.Text = "显式创建的数据集";
}
else {
CacheMsg.Text = "从缓存中检索到的数据集";
}
MyDataGrid.DataSource=Source;
MyDataGrid.DataBind();
}
</script>
当缓存数据时,XML 文件被添加为依赖项。
文件依赖项是通过使用 Cache.Insert 并提供引用 XML 文件的 CacheDependency 对象添加的。
Cache.Insert("MyData", Source, new CacheDependency(Server.MapPath("authors.xml")));
缓存项可以依赖于一个或多个文件或键。如前面提到的,应用程序也可以设置缓存项的过期策略。下列代码设置绝对的缓存过期时间。
Cache.Insert("MyData", Source, null,
DateTime.Now.AddHours(1), TimeSpan.Zero);
相关的参数是对 DateTime.Now.AddHours(1)的调用,DateTime.Now.AddHours(1) 指示该项自插入后一小时过期。最后一个参数 TimeSpan.Zero 表示此项没有相对过期策略。
下列代码显示如何设置相对过期策略。它插入一个项,该项自上次访问后 20 分钟过期。注意 DateTime.MaxValue 的使用,它表示此项没有绝对过期策略。
Cache.Insert("MyData", Source, null, DateTime.MaxValue, TimeSpan.FromMinutes(20));
SQL Caching
配置连接池
Caching Configuration缓存配置
<caching>
<outputCache>
<diskCache enabled="true" maxSizePerApp="2" />
</outputCache>
<outputCacheSettings>
<outputCacheProfiles>
<add name="CacheFor60Seconds" duration="60" />
</outputCacheProfiles>
</outputCacheSettings>
</caching>
- ASP.NET 2.0 --Caching For performance
- asp.net 学习笔记[03] Caching For Performance
- Performance Improvement in ASP.NET using Caching
- High Performance ASP.NET application (2) – Caching ASP.NET application Introduction
- ASP.NET 2.0中的Output Caching
- Caching in ASP.NET
- ASP.NET Caching
- ASP.NET Caching /1
- ASP.NET Caching
- ASP.NET Caching(2)
- ASP.NET Caching /2
- ASP.NET中使用Caching
- ASP.NET中使用Caching
- ASP.NET中使用Caching
- Caching in ASP.NET MVC
- ASP.NET中使用Caching
- ASP.NET Performance Tips
- ASP.NET Performance Toolset
- 在使用Oracle9Ii时出现的一个问题~~
- 网吧网络建设实用方案精品集锦
- Windows/.NET
- Windows Server 2003中文版
- Windows 2003企业版安装篇
- ASP.NET 2.0 --Caching For performance
- 开发文档
- 天津房地产,好大一个泡!!
- ArcIms在tomcat下发布地图服务的配置图解
- prototype.js 1.4版开发者手册
- 其实人除了钱,还有很多要在乎的.
- [基础]计算几何
- ZOJ-1004-Anagrams by Stack
- 2006-5-10 酒精和香烟的刺激