Question: Can Redis support replication between different versions?


Yes, Redis can support replication between different versions to a certain extent. The key point is that the master instance of Redis should always be equal or older in version compared to the slave instances. This is due to the fact that newer versions of Redis might introduce commands or data types that older versions do not understand.

However, it's generally recommended to keep all your Redis instances at the same version to avoid possible compatibility issues. Upgrading all instances to the same version helps ensure consistent behavior across your infrastructure.

Here's a brief example showing how to configure replication in Redis:

# On the master server (version 5.0 for example) redis-server --port 6379 # On the slave server (could be version 6.0) redis-server --port 6380 redis-cli -p 6380 > SLAVEOF <master-ip> 6379

In this example, the SLAVEOF command is used on the slave server to start the replication process with the master server. You would replace <master-ip> with the IP address of the master server. After this, any data written to the master will also be written to the slave.

However, if the master server was running a newer version of Redis than the slave server, and a command or feature specific to the newer version was used, the slave server would not understand it and replication could fail.

So while Redis does offer some flexibility in terms of replicating data across different versions, it's strongly advised to run the same version of Redis on all servers where possible.

Was this content helpful?

White Paper

Free System Design on AWS E-Book

Download this early release of O'Reilly's latest cloud infrastructure e-book: System Design on AWS.

Free System Design on AWS E-Book

Start building today

Dragonfly is fully compatible with the Redis ecosystem and requires no code changes to implement.