Redis 作为 ASP.NET Core 3.1 MVC 中的 OutputCacheProvider
Redis as OutputCacheProvider in ASP.NET Core 3.1 MVC
我有一个 ASP.NET 基于网络表单的网站,我正在将其转换为 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 中没有内置输出缓存。你得到的关闭是 Response Caching Middleware 但它只能与内部内存缓存一起使用,你不能换成其他东西。
ASP.NET 核心团队已经认识到这一点,并且 .NET 7-Candidate
里程碑中有一个 issue tracking this,所以如果我们得到一个正式的,那最早会在一年后.
因此,如果您现在想要使用 Redis 支持进行输出缓存,您将必须构建自己的中间件来缓存响应(并提供缓存的响应)。
我有一个 ASP.NET 基于网络表单的网站,我正在将其转换为 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 中没有内置输出缓存。你得到的关闭是 Response Caching Middleware 但它只能与内部内存缓存一起使用,你不能换成其他东西。
ASP.NET 核心团队已经认识到这一点,并且 .NET 7-Candidate
里程碑中有一个 issue tracking this,所以如果我们得到一个正式的,那最早会在一年后.
因此,如果您现在想要使用 Redis 支持进行输出缓存,您将必须构建自己的中间件来缓存响应(并提供缓存的响应)。