Microsoft.Extensions.Cashing.Redis 和 Microsoft.Extensions.Caching.StackExchangeRedis.RedisCache 之间的差异

Gha*_*han 17 redis azure-redis-cache asp.net-core

我有点失落。我正在阅读有关使用 Redis 进行 ASP.NET Core 缓存的 Microsoft 文档。并且文档建议使用 Microsoft.Extensions.Caching.StackExchangeRedis,这是一个开源第三方库。

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

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

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

Tse*_*eng 29

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

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

Microsoft.Extensions.Caching.Redis似乎也没有针对 3.1 exteionsn 库(Microsoft.Extensions.Options/ Caching.Abstractions),而另一个则是。

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

  • 这太令人困惑了,官方文档中没有提到非微软开发的软件包的推荐https://docs.microsoft.com/en-us/aspnet/core/performance/caching/distributed?view=aspnetcore- 3.1 (6认同)
  • 我刚刚使用 Azure Redis 从 Microsoft.Extensions.Caching.Redis 切换到 Microsoft.Extensions.Caching.StackExchangeRedis,我发现响应率显着提高。50 毫秒的 Redis 查找很常见,现在 2 毫秒也很常见。疯狂的。 (5认同)