.NET Core 3 中的 Redis Cache 是否需要使用 Stack Exchange 包?



在我的Startup.cs.NET Core 2.2中,我有以下内容:

public void ConfigureServices(IServiceCollection services)
{
services.AddDistributedRedisCache(...);             
}

但是现在,在.NET Core 3.0中,找不到AddDistributedRedisCache方法。在文档中,"适用于"部分显示仅支持高达 .NET Core 2.2

按照 Microsoft 年的本教程,他们在示例中使用了services.AddStackExchangeRedisCache。这是否意味着我需要为 Redis 安装 Stack Exchange NuGet 包?为什么删除了本机Microsoft的 Redis 客户端解决方案?

在他们的 git 存储库中挖掘了一些时间,但它已被删除。https://github.com/aspnet/Extensions,删除不是在当前存储库中发生的,而是在以前的存储库中发生的,该存储库现已存档,https://github.com/aspnet/Caching。

您可以在此线程中看到原始包的一些问题:https://github.com/aspnet/Caching/issues/410#issuecomment-418912525

删除发生在这里:https://github.com/aspnet/Caching/issues/423

我已经查看了 aspnet 从 2.1 -> 2.2 和 2.2 -> 3.0 开始的重大更改列表,但没有列出任何内容。我将在文档上创建一个问题以查看它包含在内。

在这一点上,我相信答案是使用StackExchange版本。无论如何,它显然对旧包有一些重大改进。

更新:支持的最新包将是Microsoft.Extensions.Caching.StackExchangeRedis仅使用此包最适合.NET Core 3.0及更高版本。

类似的东西

services.AddStackExchangeRedisCache(action =>
{
action.InstanceName = "WhatYouWantToNameIt";
action.Configuration = "127.0.0.1:6379";
});

文档在这里!

要使用AddDistributedRedisCache,您需要从 nuget 安装Microsoft.Extensions.Caching.Redis。另一方面,如果您仔细检查您发布的文档,AdddistributedRedisCache 将使用 RedisCacheOptions,并且 ConfigurationOptions 属性StackExchange.Redis.ConfigurationOptions

最新更新