Asp.net mvc 使用圆环缓存和圆环孔缓存的ASP.NETMVC

Asp.net mvc 使用圆环缓存和圆环孔缓存的ASP.NETMVC,asp.net-mvc,caching,Asp.net Mvc,Caching,甜甜圈缓存和甜甜圈洞缓存对我来说不是很清楚。我读了一些关于这方面的文章,这些URL是 1当人们使用圆环缓存时,他们应该使用[DonutOutputCacheDuration=60]来执行操作,而不是[OutputCacheDuration=60],但是如果有人检查我粘贴在这里的链接,那么必须注意人们使用OutputCache属性而不是DonutOutputCache,但我不清楚这个原因 2如果我需要缓存部分视图,那么我需要使用OutputCache而不是DonutOutputCache,或者

甜甜圈缓存和甜甜圈洞缓存对我来说不是很清楚。我读了一些关于这方面的文章,这些URL是

1当人们使用圆环缓存时,他们应该使用[DonutOutputCacheDuration=60]来执行操作,而不是[OutputCacheDuration=60],但是如果有人检查我粘贴在这里的链接,那么必须注意人们使用OutputCache属性而不是DonutOutputCache,但我不清楚这个原因

2如果我需要缓存部分视图,那么我需要使用OutputCache而不是DonutOutputCache,或者OutputCache实际上会在内部使用DonutOutputCache

3如果我提到客户端的缓存位置,那么当来自不同pc的另一个客户端访问我的同一缓存页面时,会发生什么?我想如果我在客户端维护缓存,那么对于下一个访问者,将再次发生db trip,并在客户端缓存数据和存储……对吗

对不起,我的英语不好。谢谢
因此,请有人澄清以上两点。感谢您,Outputcache与ChildActionOnly属性的组合类似于圆环孔缓存。甜甜圈的洞不会重新命名,它是从缓存中提供的。通过使用ChildActionOnly属性,然后指定OutputCache属性和时间,可以说在指定的持续时间内在服务器上缓存甜甜圈洞的这一部分。它将从缓存中提供的甜甜圈孔。你必须同时使用它们。 请看一个好例子:

2为了缓存部分视图输出,我们再次对控制器中返回部分视图结果的操作方法使用OutputCache属性。请看


3使用OutputCacheLocation.Client时,输出缓存位于发出请求的浏览器客户端上。每个新访问者在第一次请求页面时都会将页面内容缓存在浏览器中。

1我的问题是,当使用圆环缓存时,我应该使用[DonutOutCacheDuration=60]而不是[OutputCacheDuration=60]。使用第三方但不使用甜甜圈相关属性。OutputCache是asp.net mvc中内置的,我不需要为其安装与甜甜圈相关的nuget软件包。请分享您的意见。当user1请求缓存在客户端的页面时,请告诉我,这样当user2请求相同的页面时,操作将从db获取数据。通常我们缓存以节省往返时间,但在客户端缓存的情况下,我猜缓存不会在不同的用户之间使用和共享。请分享你的意见。感谢使用客户端缓存,缓存位于客户端浏览器上。两个不同的浏览器点击,然后是的,数据库将被点击。如果在服务器上缓存,则保存命中,直到时间到期。