informatikr / hedis

A Redis client library for Haskell.
http://hackage.haskell.org/package/hedis
BSD 3-Clause "New" or "Revised" License
327 stars 121 forks source link

Redis 6 support #168

Open omnibs opened 3 years ago

omnibs commented 3 years ago

Hi! Thank you for writing Hedis =]

I noticed the readme says:

Hedis is intended to be used with the latest stable version of Redis (currently 5.0).

Is the readme merely outdated, or is 6.0 indeed not supported yet?

michaelglass commented 3 years ago

from https://raw.githubusercontent.com/antirez/redis/6.0/00-RELEASENOTES

Migrating from 5.0 to 6.0
=========================

Redis 6.0 is mostly a strict superset of 5.0, you should not have any problem
upgrading your application from 5.0 to 6.0. However this is a list of small
non-backward compatible changes introduced in the 6.0 release:

* The SPOP <count> command no longer returns null when the set key does not
  exist. Now it returns the empty set as it should and as happens when it is
  called with a 0 argument. This is technically a fix, however it changes the
  old behavior.

I'm guessing we can test out redis 6 compatibility and report back?

see: https://github.com/informatikr/hedis/compare/master...NoRedInk:test-redis-6

michaelglass commented 3 years ago

looks like tests on master here are already broken so it'll be a little tricky to test.

k-bx commented 3 years ago

PRs fixing all of these are very much welcome!

Tests worked for me locally last time I've checked, so it was only Travis that needed some love. Anyways, open for contributions, but don't have a lot of time for this ATM myself, unfortunately.

michaelglass commented 3 years ago

@k-bx you are the best. We're now running a big piece of our prod hedis load against 6.x. Will make a little PR and hopefully also figure out what's up with travis. Thank you!

michaelglass commented 3 years ago

preliminary info: we upgraded our redis cluster from 5.0.6 to 6.0.4

So maybe there's support for a single redis instance but not cluster yet? I couldn't see significant cluster changes in the changelog so a little confusing

k-bx commented 3 years ago

Cluster support was added in https://github.com/informatikr/hedis/pull/157 , please see if that's what you're looking for

michaelglass commented 3 years ago

Yup! Our team (mostly jasper) wrapped up that cluster work, but we only tested against Redis 5.0 in cluster mode. Upgrading to Redis 6 in cluster mode caused some strange errors we'll try to debug.

k-bx commented 3 years ago

Ah, gotcha! Thanks

aravindgopall commented 1 year ago

@michaelglass is this still the case. we have successfully tested with juspay fork for Redis 6.

michaelglass commented 1 year ago

@aravindgopall sorry I'm not on the project anymore. Happy to hear it's working for you.

omnibs commented 1 year ago

@aravindgopall thank you so much for reporting, i'll give it a try!

qnikst commented 1 year ago

Please see MR #211 it provides redis 7 support for all existing functions. It does not provide support for newly added functions. Unfortunately I see no way to make the change backward compatible, my company adopted those changes, but I would love to see if anyone would give that a try before merging into the master.

qnikst commented 1 year ago

@aravindgopall, sorry for asking you here, but I wonder if Juspay want to contribute efforts upstream, otherwise be may get into a situations here the codebases would significally diverge making it impossible to combine features that appear in the projects.