缓存类型&应用缓存

时间:2012-03-15 21:09:52

标签: c# asp.net caching

对不起,如果问题很愚蠢。

某处我读到了

ASP.NET支持三种类型的缓存:

页面输出缓存[输出缓存]

片段缓存[输出缓存]

数据缓存

和某处

ASP.NET中有两种不同类型的缓存:

* Application caching
* Page output caching

ASP.NET支持多少种类型的缓存?

1 个答案:

答案 0 :(得分:13)

差异在这里得到了很好的总结:

Exploring Caching in ASP.Net

您已多次列出相同类型的缓存;我建议您阅读上面的链接,如果您遇到更多困难,请回来询问一些更具体的问题。

总结文章:

  1. 对于内容相对静态的网页,我们可以使用页面输出缓存。因此,我们可以使用页面输出缓存来缓存页面,而不是在每个用户请求上生成页面,以便可以从缓存本身访问它。页面可以生成一次,然后缓存以供后续提取。页面输出缓存允许将给定页面的整个内容存储在缓存中。

  2. 页面片段缓存:ASP.NET提供了一种缓存页面部分的机制,称为页面片段缓存。要缓存页面的一部分,必须先将要缓存的页面部分封装到用户控件中。在用户控件源文件中,添加一个OutputCache指令,指定Duration和VaryByParam属性。当该用户控件在运行时加载到页面中时,它将被缓存,引用该用户控件的所有后续页面将从缓存中检索它

  3. 数据缓存:缓存数据可以通过减少数据库争用和往返来显着提高应用程序的性能。简单地说,数据缓存将所需数据存储在缓存中,这样Web服务器就不会每次为每个请求向DB服务器发送请求,从而提高了网站性能。我还补充说,如果您了解数据可用的限制(例如,数据可用的时间长度)以及来自许多其他类型的数据存储的数据,您还可以将用户数据存储在此缓存中。

  4. 还可以说有几种其他类型的缓存ASP.Net支持;例如,您可以使用State Bags或简单的ViewState来缓存到客户端的往返之间的数据。 ApplicationSession对象也可用于缓存数据(再次,有限制) - 但这实际上也属于数据缓存的范围。

    简而言之,有很多地方你可以在ASP.Net中挖掘数据 - 它更多的是知道使用哪一个以及何时使用!