redis / NRedisStack

Redis Stack .Net client
MIT License
225 stars 37 forks source link

Question about DotNet Client libraries and best practices #331

Open RomBrz opened 1 month ago

RomBrz commented 1 month ago

Hi, about the DotNet Client, seems that the NRedisStack is the official DotNet client library:

https://redis.io/docs/latest/develop/connect/clients/dotnet/

But another page make references and use the "StackExchange.Redis" library instead:

https://redis.io/learn/develop/dotnet

Considering that NRedisStacks depends on StackExchange.Redis to work, the Learn page would work OK. I tried to find some informations about the differences between both, but could not find it.

I'm from Infra/DevOps side, and i'm making a best practice guide for using Redis at our company, and i saw that many projects are using the StackExchange.Redis library and neither one is using NRedisStack, so i'm trying to understand if, considering that it's a new library (compared to the StaackExchange one), the best approach should be to migrate to NRedisStack?

What exactly NRedisStack adds to the StackExchange library?

Another question: Does both libraries has some compatibility matrix with the Redis server versions?

Thanks.

uglide commented 6 days ago

Hello,

trying to understand if, considering that it's a new library (compared to the StaackExchange one), the best approach should be to migrate to NRedisStack?

Yes, the best way right now is to use NRedisStack.

What exactly NRedisStack adds to the StackExchange library?

Currently, SE.Redis is missing support for many features, such as JSON, Search, TimeSeries, etc. We are working with the SE. Redis team to contribute more, but it takes time. For the time being, NRedisStack supports more features and Redis commands.

Another question: Does both libraries has some compatibility matrix with the Redis server versions?

NRedisStack inherits compatibility from SE.Redis. AFAIK it's recommended to use Redis 5+ with SE.Redis.