Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RESP3 support (Redis 6+) #98

Open
WyriHaximus opened this issue May 3, 2020 · 3 comments
Open

RESP3 support (Redis 6+) #98

WyriHaximus opened this issue May 3, 2020 · 3 comments

Comments

@WyriHaximus
Copy link
Contributor

Looks like Redis 6 is likely only supporting the RESP3 protocol: http://antirez.com/news/125

@clue
Copy link
Owner

clue commented May 3, 2020

[EDIT! I'm reconsidering all this because Marc Gravell
from Stack Overflow suggested that we could just switch protocol for backward compatibility per-connection, sending a command to enable RESP3. That means no longer need for a global configuration that switches the behavior of the server. Put in that way it is a lot more acceptable for me, and I'm reconsidering the essence of the blog post]

Thanks for reporting here, this is interesting! It looks like there won't be a hard switch any time soon, so Redis 6 will continue working as-is. But we should definitely look into providing native RESP3 support for Redis 6 in the future! 👍

There are currently no immediate plans to build this from my end (no demand at the moment and more important outstanding issues currently), but I would be really happy to accept PRs 👍

(If you need this for a commercial project and if you want to help sponsor this feature, please reach out and can work out the details)

@WyriHaximus
Copy link
Contributor Author

There are currently no immediate plans to build this from my end (no demand at the moment and more important outstanding issues currently), but I would be really happy to accept PRs 👍

Yup that's why I filed it 👍

@clue
Copy link
Owner

clue commented Aug 24, 2021

Supporting the RESP3 protocol requires non-trivial but reasonable amount of work. The major issue I'm seeing is that it might change the semantics and return values of some commands, so this would be considered a BC break. This would for instance change how HGETALL should return a map (associative array) instead of a multi bulk reply (array/list with key value pairs). Accordingly, we may want to make sure this is the default behavior irrespective of the RESP protocol version, so this would require some kind of manual mapping for RESP2 already (which I view as reasonable, see also related tickets #17 and #103).

@clue clue changed the title Redis 6/RESP3 support RESP3 support (Redis 6+) Aug 26, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants