缓存响应消息

时间:2016-09-13 12:25:36

标签: asp.net-core outputcache distributed-caching httpresponsecache

我们做了很多REST调用,并希望缓存大部分调用。我们目前的选择是什么? Core目前不支持输出缓存,因此我们可以使用响应缓存或分布式缓存吗?如果响应缓存,可以将Kestrel前面的IIS反向代理用于响应缓存方案吗?谢谢!

1 个答案:

答案 0 :(得分:1)

ASP.NET Core支持Response Caching

Cache Helper Tag支持Razor视图

输出缓存 - 但这对REST调用没有帮助。

分布式缓存 InMemory缓存是存储从持久性级别检索成本密集型信息的好方法。这将对服务级别有所帮助,但对输出缓存没有帮助(当然,如果你愿意的话,你可以做一些自己的中间件)。 Cache Helper Tag也依赖于这些技术。

因此,REST调用的缓存输出归结为响应缓存。简而言之,这是关于如何在响应中设置Cache-Control标头。如果您在控制器的ResponseCacheLocation.Any注释(或Location)中选择ResponseCacheCacheProfile,则公共用作缓存控制,并允许反向代理缓存响应。但是我没有尝试过,如果在IIS和Kestrel的组合中就是这种情况。

Blog Post也是关于此主题的有趣读物。