Reputation: 3530
I am a little bit lost. I am reading Microsoft documentation for ASP.NET Core caching using Redis. And the documentation suggests to use Microsoft.Extensions.Caching.StackExchangeRedis which is an open source third party library.
But I've seen some other tutorials are using Microsoft.Extensions.Caching.Redis, which is a more native asp.net core.
And at the end they both use the same interface IDistributedCache.
Why do I need Microsoft.Extensions.Caching.StackExchangeRedis?
What advantages it has over Microsoft.Extensions.Caching.Redis?
Upvotes: 40
Views: 18570
Reputation: 64121
A look at the dependency graph for Microsoft.Extensions.Caching.Redis and Microsoft.Extensions.Caching.StackExchangeRedis reveals it.
Microsoft.Extensions.Caching.Redis
is based on StackExchange redis 1.x library, whereas Microsoft.Extensions.Caching.StackExchangeRedis
is based on 2.x of the same library.
Also Microsoft.Extensions.Caching.Redis
doesn't seem to target the 3.1 extension libraries (Microsoft.Extensions.Options
/Caching.Abstractions
) where the other does.
So for .NET Core 3.x and newer use Microsoft.Extensions.Caching.StackExchangeRedis
as the previous one may not be maintained as long as the new one.
Upvotes: 55