Redis作为ASP.NET Core 3.1 MVC中的OutputCacheProvider



我有一个基于ASP.NET Web表单的网站,我正在将其转换为ASP.NET Core 3.1 MVC。

我使用Redis作为OutputCache提供程序来缓存网站页面。我的web.config在以前的网站上也有同样的设置。

<caching xdt:Transform="Replace">
<outputCache defaultProvider="rdstest">
<providers>
<add name="rdstest" type="Microsoft.Web.Redis.RedisOutputCacheProvider" host="rdstest............."
accessKey="xxxxxx=" databaseId ="1" port="xxxx" ssl="true" applicationName="xxxx" />
</providers>
</outputCache>
</caching>

我在网上寻找了将redis用于相同目的的最佳方法,但找不到任何简单的实现。

大多数文章都使用redis作为数据缓存,很少有文章展示如何简单地缓存输出页面。

如有任何帮助,我们将不胜感激。

谢谢。

当前ASP.Net Core中没有内置的输出缓存。你得到的关闭是响应缓存中间件,但它只能与内部内存缓存一起工作,而不能将其换成其他缓存。

不过,ASP.NET核心团队已经认识到了这一点,在.NET 7-Candidate里程碑中跟踪这一点存在问题,因此,如果我们得到一个正式的里程碑,最早将在一年后。

因此,如果您现在想要使用redis支持的输出缓存,则必须构建自己的中间件来缓存响应(并提供缓存的响应(。

最新更新