ASP.NET的缓存
来源:互联网 发布:淘宝订单回流 编辑:程序博客网 时间:2024/05/16 10:31
我们知道一个网站在访问量巨大的时候,如果能使用缓存技术,可以明显降低网站的访问负担,所以废话不多说,我们来看一下在ASP.NET中如何能实现缓存。
首先应该清楚的是,在ASP.NET中,有两类缓存可以使用,第一类是输出缓存,第二类是数据缓存。
输出缓存的通俗解释就是,就是我们把某个被访问的页面在用户访问时暂时生成,然后保存起来,这样在其他人访问此页面的时候,我们不需要再从新生成此页面,而只需要从这个已经生成的页面取得就可以了。这样就不需要再执行一次重新生成此页面的过程,大大减少服务器的负担。
另一类的数据缓存,从字面上来看很好理解,就是把经常需要用到的一些data,例如一些数据库中的数据,也一下子取出来,然后放到服务器的内存中,这样在使用到他们的时候,我们就不需要再去一遍遍的访问数据库,而只需要从内存中复用这些缓存的数据就可以了,这样也会大大减轻服务器的负担。
下面来看看这两个技术的具体细节。
我们先来看看输出缓存的例子,我们可以打开我们的VS.NET2005或者2008(甚至2010等等),建立一个新的ASP.NET网站项目(这一步很简单,在这里就不多说了),然后新建一个页面,这个页面很简单,我们可以在页面的page_load事件中随便写一些什么代码,最便于发现页面被缓存的毫无疑义是输出时间了,我们可以明显发现时间没变来告诉人们这个页面被缓存过了,所以我们可以在我们的page_load事件中这样写:
lbldate.Text="now the time is :<br/>";
lbldate.Text+=DateTime.Now.ToString();
然后我们只要在我们页面的aspx文件的顶端加入OutputCache指令,向下面这样:
<%@ OutputCache Duration="20" VaryByParam="None" %>
这样我们的页面就会被服务器缓存,周期为20秒。
20秒之内,不管有多少人访问,所有对此页面的请求都只会从缓存中取得。
关于VaryByParam特性:
而其中的VaryByParam特性的意思是,当为None时,表示只是缓存本页面的一个副本,而不考虑查询字符串的情况。而当将VaryByParam设置为*值时,表示将考虑访问字符串的情况。这个时候,服务器会对每个对此页面的带不同访问字符串的访问分别缓存。
另外我们还可以将VaryByParam设置为具体的查询字符串,以针对某个查询字符串进行特定的缓存,例如,我们可以这样:
<%@ OutputCache Duration="20" VaryByParam="ProductID;CurrencyType" %>
这样的好处就是,服务器会针对ProductID和CurrencyType这两个字符串的请求来分别缓存页面,而忽略其他的请求字符串。
<本文代码有部分来自于麦当劳和马里奥合著的《ASP.NET高级程序设计》中,这本书确实不错!>
- asp.net的缓存
- ASP.NET的缓存
- ASP.NET的缓存
- ASP.NET的缓存
- asp.net的缓存
- ASP.NET的缓存
- ASP.NET的缓存技术
- Asp.net的局部缓存
- ASP.NET的缓存技术
- ASP.NET的输出缓存
- ASP.NET的输出缓存
- asp.net的缓存机制
- ASP.NET的缓存机制
- ASP.NET的缓存机制
- ASP.NET的缓存详解
- ASP.NET 缓存的使用
- ASP.NET 2.0的缓存技术简介 [Asp.Net]
- 关于ASP.NET的缓存的详细内容
- 浅谈 IIS7.0 架构
- #pragma 预处理指令详解
- 设计模式----Prototype
- 工作心得20100207
- Ext中的get、getDom、getCmp、getBody、getDoc的区别
- ASP.NET的缓存
- linux-arm开发环境简单配置
- 是该回到正确的道路上了
- 过年啦
- 使用Eclipse调试J2ME程序
- 睡过头,错过航班,杯具了
- 怎样用Java来获取真实的IP地址
- 算法和编程题目(C/C++/Shell)
- CYY文本批量助手2.0绿色版正式发布