valkey icon indicating copy to clipboard operation
valkey copied to clipboard

ioredis -> iovalkey (Node.js client)

Open mcollina opened this issue 1 year ago • 8 comments

I've forked ioredis into iovalkey.

I'd love to move it to this org and/or maintain it under the org umbrella.

mcollina avatar Apr 16 '24 16:04 mcollina

On top of we are still unsure about what we're doing about clients, I want to finalize our governance doc (which will include maintainership of sub-projects) before we accept any donations of projects. We shared a draft amongst the TSC. I was supposed to post the public PR on Monday but I haven't incorporated their feedback yet <_<.

I like the naming though.

madolson avatar Apr 18 '24 05:04 madolson

Let me know. I sincerely expect Redis 8 to break the protocol, making their clients only work with the official database. Elastic did the exact same move, and so far they seem to be following the same playbook.

mcollina avatar Apr 18 '24 07:04 mcollina

So I suppose the consensus is we will take it and move it under our umbrella. One point I do want to ask about is we would prefer only taking one client per language, and I see there are two popular Redis clients (node-redis and ioredis). Is there much consensus about which one of those is better adopted or preferred by the community?

madolson avatar Apr 23 '24 04:04 madolson

I don't think we should set a limit on the number of clients per language. The client ecosystem is big and different clients can focus on different areas. For instance, some clients might optimize for performance while some others might have better support for observability. I think the key is "quality/reputation", which we could consider "outsourcing" to the community and rely on the community to keep us informed (so that we can also drop clients that are not longer maintained, for whatever reasons).

PingXie avatar Apr 23 '24 05:04 PingXie

On the flip side though, I can also see the (valid) argument that "why don't we consolidate the efforts into one official client and make it the best all around?" I just don't know if this is feasible given the diverse requirements out there. Curious to hear the community thoughts.

PingXie avatar Apr 23 '24 05:04 PingXie

We have a decision that we will accept client forks under the valkey-io org. See https://github.com/orgs/valkey-io/discussions/362

Since we would prefer on one official client per language, the question is why not node-redis? Are the APIs and features very different and what are the main differences between ioredis and node-redis?

zuiderkwast avatar Apr 24 '24 11:04 zuiderkwast

Currently, ioredis is downloaded 5m per week, while redis is downloaded 3m weekly.

Historically, ioredis was better. Now they are essentially on par. However, the redis one has a more complex codebase and it also support the proprietary features of redis.

If you plan to reimplement some of the non-oss add-ons, then possibly redis might make sense.

(I’m happy to help either way).

mcollina avatar Apr 24 '24 19:04 mcollina

That's what I needed to hear. I'm convinced. :smile:

@valkey-io/core-team OK? If you agree, please :+1:, otherwise :-1:.

zuiderkwast avatar Apr 24 '24 19:04 zuiderkwast

moved!

mcollina avatar May 12 '24 11:05 mcollina