我有点迷茫。我正在阅读有关使用 Redis ASP.NET 核心缓存的Microsoft文档。 文档建议使用Microsoft.Extensions.Caching.StackExchangeRedis,这是一个开源的第三方库。
但是我看到其他一些教程正在使用Microsoft.Extensions.Caching.Redis,这是一个更原生的 asp.net 核心。
最后,它们都使用相同的接口IDistributedCache。
为什么我需要Microsoft.Extensions.Caching.StackExchangeRedis?
它与Microsoft.Extensions.Caching.Redis相比有什么优势?
看看Microsoft.Extensions.Caching.Redis和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
,因为前一个可能不会像新版本那样维护。