ASP.NET Cache如何工作?

时间:2009-03-09 20:21:22

标签: c# asp.net caching

我对使用ASP.NET Cache减少加载时间感兴趣。我该怎么做?我从哪里开始?缓存究竟是如何工作的?

4 个答案:

答案 0 :(得分:31)

随着应用程序的增长,利用缓存作为获得可伸缩性并保持服务器响应时间一致的方法是很正常的。缓存通过将数据存储在内存中来大幅减少访问时间。首先,我将介绍ASP.NET缓存。

ASP.NET Web应用程序中有三种常规缓存技术:

  • 页面输出缓存(页面级别)
  • 页面部分页面输出(特定元素 (页面)
  • 程序化或数据缓存

输出缓存

页面级输出缓存缓存页面的html,以便每次ASP.NET页面请求它首先检查输出缓存。您可以通过输入参数(VaryByParam)来改变这些请求,因此只有ID = 1的用户才能缓存页面ID = 2 asp.net缓存足够聪明,知道它需要重新渲染页面。

部分页面缓存

很多时候,在这些情况下缓存整个页面是不合理的,您可以使用部分页面缓存。这通常与用户控件一起使用,并且设置方式与页面级别相同,只是在usercontrol中添加OutputCache声明。

数据缓存

您可以存储整个应用程序中常用的对象或值。它可以很容易:

Cache["myobject"] = person; 

企业级缓存

值得一提的是,有许多企业级缓存架构已经开始利用有效性缓存。 {。3}} .net和Memcache是一对。

一般

由于每个应用程序都不同,您无法对应该和不应该缓存的内容进行全面陈述。但是,您可以进行一些具有真正 MOST 时间的概括。静态元素(如图像和内容)可以缓存。即使是受到重创的动态页面也值得缓存5-10秒,它将为您的Web服务器带来一个与众不同的世界。

Velocity(now App Fabric)

答案 1 :(得分:8)

您最好的选择可能是查看www.asp.net/learn/videos上的几个缓存视频,具体为:How Do I Make Use of Caching?How do I Make Greater use of Caching ?

我总觉得它们很有帮助。

答案 2 :(得分:3)

看看http://www.dnrtv.com/default.aspx?showNum=85这是一个关于如何进行缓存的非常好的视频教程

我认为堆叠流量播放器也会讨论它

答案 3 :(得分:1)

要开始ASP.NET缓存,这是一个很好的教程ASP.NET Quickstart Tutorial for Caching。输出缓存和片段缓存有助于理解概念。

这是Microsoft的模式和实践团队的一个有用的库,Caching Application Block用于在.NET应用程序中以编程方式进行缓存。