how can I migrate to version 6 from verison 8? I want to store sorted sets with string instead of binary double values. Is this possible ? And Is there anything else that needs to be modified?

Comment From: oranagra

I think your best approach is to feed the RDB file to some tool that generates redis commands and pipe these into redis. have a look at this: https://github.com/sripathikrishnan/redis-rdb-tools/#emitting-redis-protocol

If that doesn't work for you, there are other / better tools but maybe it'll be harder to get them working for you (one example is the rl_rdbloader binary that comes inside Redis Enterprise Software)

Comment From: vongosling

So, there are no available off-the-shelf tools, right? In this case, the customer cannot smoothly upgrade from 3.x to 4.x.

Comment From: vongosling

What's rl_rdbloader? Could you help to give more details about this feature :-)

Comment From: oranagra

upgrading (going from 3.x to 4.x) is supported out of the box. new redis versions always support rdb files from all previous older versions. a few days ago i generated an rdb file from 2.4 and loaded it into 6.0 with no problems.

the question that was asked here is about downgrade. rl_rdbloader is a tool that does a similar thing to what redis-rdb-tools protocol backend does. it parses an rdb file and generates a stream of commands from it. the reason i mention is is that i'm not certain about the state of redis-rdb-tools, so i said that if for some reason it fails, there are other tools.

i think Alibaba also has something like that https://github.com/alibaba/RedisShake, not sure if it's able to convert the rdb file to individual commands (ZADD in this case), or just to RESTORE commands. redis-rdb-tools will only generate ZADD, and rl_rdbloader can do both and is very efficient and well tested.

Comment From: oranagra

here's another tool that seems to be able to do the job (not personally familiar with it): https://github.com/leonchen83/redis-rdb-cli

Comment From: vongosling

Got it ~ That's clear.

Comment From: leonchen83

@vongosling @chengshanbin recent redis-rdb-cli version(v0.6.4) can do this job perfectly. since redis 4.0 redis store sorted sets use type RDB_TYPE_ZSET_2, redis-rdb-cli can convert RDB_TYPE_ZSET_2 to RDB_TYPE_ZSET dynamicly.

step 1 chang property dump_rdb_version=6 in /path/to/redis-rdb-cli/conf/redis-rdb-cli.conf step 2 /path/to/redis-rdb-cli/bin/rmt -s your-4.0-dump.rdb -m redis://host:port -r