我应该为.Net Web应用程序使用哪种缓存机制? Memcached似乎是LAMP堆栈和Linux的最佳选择,但我不太确定它是在Windows上运行的.Net Web应用程序的答案。我的要求是分发它并在Windows上运行。
答案 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或自定义报表业务 宾语。第二个是页面输出 缓存,这会保存输出 页面处理并重用输出 而不是重新处理页面时 用户再次请求该页面。