什么是用于.Net Web应用程序的最佳缓存机制?

时间:2009-08-27 02:28:23

标签: .net asp.net caching memcached

我应该为.Net Web应用程序使用哪种缓存机制? Memcached似乎是LAMP堆栈和Linux的最佳选择,但我不太确定它是在Windows上运行的.Net Web应用程序的答案。我的要求是分发它并在Windows上运行。

3 个答案:

答案 0 :(得分:3)

没有像Windows的memcached那样成熟的分布式缓存系统,但Velocity是由Microsoft构建的分布式缓存系统,并且有可供下载的beta版本。

虽然我看到很多人所做的是在Linux上运行memcached,并在其ASP.net代码中使用其中一个.NET客户端进行memcached。

答案 1 :(得分:2)

签出ScaleOut StateServer - 它主要是为了在Web场场景中提供高性能,进程外的分布式会话管理而开发的,但它也适用于通用缓存。

它也是一种成熟的产品 - 但它不是免费的。主要的好处是它专门设计用于ASP.NET / Windows堆栈。

答案 2 :(得分:0)

ASP.NET提供了两种开箱即用的缓存策略:应用程序缓存和页面输出缓存。有关详细信息,请参阅ASP.NET Caching Overview

  

应用程序通常会增加   通过存储在内存数据中的性能   那是经常访问的那个   需要大量的处理时间   创造。例如,如果你的   申请流程大量   数据使用复杂的逻辑然后   在访问报告时返回数据   经常被用户使用,效率很高   避免每次都重新创建报告   用户请求的时间。同样,如果   您的应用程序包含一个页面   处理复杂数据,但也就是说   它不经常更新   服务器重新创建效率低下   每个请求都有该页面。

     

帮助您增加申请   在这些情况下的表现,   ASP.NET使用两个提供缓存   基本缓存机制。首先是   应用程序缓存,它允许您   缓存您生成的数据,例如a   DataSet或自定义报表业务   宾语。第二个是页面输出   缓存,这会保存输出   页面处理并重用输出   而不是重新处理页面时   用户再次请求该页面。