"Microsoft.Extensions.Caching.Redis" 和 "Microsoft.Extensions.Caching.StackExchangeRedis.Redis" 的区别?

Differences between "Microsoft.Extensions.Caching.Redis" and "Microsoft.Extensions.Caching.StackExchangeRedis.Redis"?

我有点迷茫。我正在阅读有关 ASP.NET 使用 Redis 进行核心缓存的 Microsoft 文档。 文档建议使用 Microsoft.Extensions.Caching.StackExchangeRedis 这是一个开源的第三方库。

但我看到其他一些教程正在使用 Microsoft.Extensions.Caching.Redis,这是一个更原生的 asp.net 核心。

最后他们都使用相同的接口 IDistributedCache。

为什么我需要 Microsoft.Extensions.Caching.StackExchangeRedis?
它比 Microsoft.Extensions.Caching.Redis 有什么优势?

查看 Microsoft.Extensions.Caching.Redis and Microsoft.Extensions.Caching.StackExchangeRedis 的依赖关系图就会发现它。

Microsoft.Extensions.Caching.Redis 基于 StackExchange redis 1.x 库,而 Microsoft.Extensions.Caching.StackExchangeRedis 基于同一库的 2.x。

而且 Microsoft.Extensions.Caching.Redis 似乎没有针对 3.1 扩展库 (Microsoft.Extensions.Options/Caching.Abstractions) 而另一个是。

因此对于 .NET Core 3.x 和更新版本使用 Microsoft.Extensions.Caching.StackExchangeRedis 因为前一个可能不会像新的那样维护。