Question: How can you promote a Redis replica to master?
Answer
In order to promote a Redis replica to master, you'll need to follow certain steps. This process is typically required when the current master is not available or in other scenarios where you want to switch over to a different node.
Here are the steps:
-
Disconnect the replica from the master: You can do this using the
replicaof no one
command. This will stop the replication and therefore allow the current replica to accept write commands.redis-cli -h <replica_host> -p <replica_port> replicaof no one
-
Check if the promotion was successful: Use the
info replication
command. If the role is 'master', then your replica has been promoted successfully.redis-cli -h <new_master_host> -p <new_master_port> info replication
The output should begin with something like this:
```
# Replication
role:master
connected_slaves:0
...
```
3. Connect other replicas (if any) to the new master: For every other replica, use the replicaof <new_master_host> <new_master_port>
command.
```sh
redis-cli -h <slave_host> -p <slave_port> replicaof <new_master_host> <new_master_port>
```
Please note that replica promotion is a manual process and during this process there can be data inconsistencies due to asynchronous nature of Redis replication.
It's also important to mention sentinel mode, which is a more robust way to handle failover, as it automates this process. However, setting up and maintaining a sentinel system can be more complex than managing a simple master-replica setup.
Was this content helpful?
Other Common Redis Questions (and Answers)
- What is the default port used by Redis?
- How to start Redis server?
- Is Redis persistent?
- How fast is Redis?
- How to install Redis on Mac?
- How to check if Redis is running?
- How to restart Redis?
- Does Redis persist data?
- How to install Redis on Ubuntu?
- How to stop Redis server?
- How to see Redis version?
- Does Redis have tables?
Free System Design on AWS E-Book
Download this early release of O'Reilly's latest cloud infrastructure e-book: System Design on AWS.
Switch & save up to 80%
Dragonfly is fully compatible with the Redis ecosystem and requires no code changes to implement. Instantly experience up to a 25X boost in performance and 80% reduction in cost