Bird
Raised Fist0
Redisquery~10 mins

Master-replica architecture in Redis - Step-by-Step Execution

Choose your learning style10 modes available
Concept Flow - Master-replica architecture
Client writes to Master
↓
Master stores data
↓
Master sends updates
↓
Replica receives updates
↓
Replica stores data copy
↓
Client reads from Replica or Master
Data is written to the master, which stores it and sends updates to replicas. Replicas keep copies and serve read requests.
Execution Sample
Redis
SET key1 value1
GET key1
# Master stores 'key1' with 'value1'
# Replica receives update
# Client reads 'key1' from replica
Shows how a write to master is replicated and then read from a replica.
Execution Table
StepActionMaster StateReplica StateClient RequestResponse
1Client sends SET key1 value1 to MasteremptyemptySET key1 value1OK
2Master stores key1=value1key1=value1emptynonenone
3Master sends update to Replicakey1=value1receiving updatenonenone
4Replica stores key1=value1key1=value1key1=value1nonenone
5Client sends GET key1 to Replicakey1=value1key1=value1GET key1value1
6Client reads value1 from Replicakey1=value1key1=value1nonevalue1
7Client sends GET key1 to Masterkey1=value1key1=value1GET key1value1
8Client reads value1 from Masterkey1=value1key1=value1nonevalue1
9No more requestskey1=value1key1=value1nonenone
💡 Execution stops after client reads value from master and replica; no more requests.
Variable Tracker
VariableStartAfter Step 1After Step 4After Step 6Final
Master Dataemptykey1=value1key1=value1key1=value1key1=value1
Replica Dataemptyemptykey1=value1key1=value1key1=value1
Client RequestnoneSET key1 value1noneGET key1none
Client ResponsenoneOKnonevalue1none
Key Moments - 2 Insights
Why does the replica have 'empty' data after the client writes to the master?
Because the replica only updates after receiving the master's update (see Step 3 and 4 in execution_table). It does not store data immediately when the client writes to master.
Can the client read the updated data from the replica immediately after writing to the master?
No, the client must wait until the replica receives and stores the update from the master (Step 5 and 6). Before that, the replica has old or empty data.
Visual Quiz - 3 Questions
Test your understanding
Look at the execution_table, what is the state of the replica after Step 2?
Aempty
Bkey1=value1
Creceiving update
Dunknown
💡 Hint
Check the 'Replica State' column at Step 2 in execution_table.
At which step does the replica store the updated key1=value1?
AStep 3
BStep 4
CStep 5
DStep 6
💡 Hint
Look for when 'Replica stores key1=value1' in the Action column.
If the client reads from the master at Step 7, what response will it get?
Aempty
Berror
Cvalue1
DOK
💡 Hint
Check the Response column at Step 7 in execution_table.
Concept Snapshot
Master-replica architecture:
- Client writes go to master only.
- Master stores data and sends updates to replicas.
- Replicas store copies and serve reads.
- Replication is asynchronous; replicas lag slightly.
- Reads can be load-balanced between master and replicas.
Full Transcript
In master-replica architecture, clients send write commands to the master server. The master stores the data and then sends updates to its replicas. Replicas receive these updates and store copies of the data. Clients can read data from either the master or replicas. This setup helps distribute read load and provides data redundancy. The replication is asynchronous, so replicas may lag behind the master briefly after writes. The execution table shows step-by-step how a write to the master propagates to replicas and how clients read data from both. Variables track the data state on master and replicas after each step. Key moments clarify common confusions about when replicas update and when clients can read fresh data from them. The visual quiz tests understanding of these steps and states.

Practice

(1/5)
1. What is the main purpose of the master-replica architecture in Redis?
easy
A. To copy data from one main server to others for safety and speed
B. To delete data from all servers simultaneously
C. To run multiple unrelated databases on one server
D. To encrypt data on the master server only

Solution

  1. Step 1: Understand the role of master and replicas

    The master server holds the original data, and replicas copy this data to keep backups and improve read speed.
  2. Step 2: Identify the main goal of this setup

    This setup is mainly for safety (backup) and speed (load distribution).
  3. Final Answer:

    To copy data from one main server to others for safety and speed -> Option A
  4. Quick Check:

    Master-replica = data copy for safety and speed [OK]
Hint: Master copies data to replicas for safety and speed [OK]
Common Mistakes:
  • Thinking replicas delete data
  • Confusing master-replica with encryption
  • Believing replicas run unrelated databases
2. Which Redis command correctly sets a server as a replica of another?
easy
A. REPLICAOF <port>
B. SETREPLICA <port>
C. SLAVEOF <port>
D. COPYTO <port>

Solution

  1. Step 1: Recall the Redis command for setting a replica

    The correct command is SLAVEOF followed by the master's IP and port.
  2. Step 2: Check the options for exact command syntax

    Only SLAVEOF <port> uses the correct command SLAVEOF.
  3. Final Answer:

    SLAVEOF <master-ip> <port> -> Option C
  4. Quick Check:

    Set replica with SLAVEOF command [OK]
Hint: Use SLAVEOF to set replica, not REPLICAOF or others [OK]
Common Mistakes:
  • Using REPLICAOF instead of SLAVEOF
  • Trying non-existent commands like SETREPLICA
  • Confusing COPYTO with replication commands
3. Given this Redis command sequence on a replica server:
SLAVEOF 192.168.1.10 6379
GET user:100

What will happen if the master at 192.168.1.10 is down?
medium
A. The replica will return an error because it can't reach the master
B. The replica will return the last synced value for user:100
C. The replica will become master automatically
D. The replica will delete the user:100 key

Solution

  1. Step 1: Understand replica behavior when master is down

    The replica keeps the last synced data even if the master is offline.
  2. Step 2: Predict the GET command result on replica

    GET will return the last known value for the key from the replica's local data.
  3. Final Answer:

    The replica will return the last synced value for user:100 -> Option B
  4. Quick Check:

    Replica serves last synced data if master is down [OK]
Hint: Replica serves cached data if master is unreachable [OK]
Common Mistakes:
  • Assuming replica errors out when master is down
  • Thinking replica auto-promotes to master
  • Believing replica deletes keys on master failure
4. You run SLAVEOF NO ONE on a Redis replica server but it still behaves like a replica. What is the likely problem?
medium
A. The server is still connected to the master and did not switch roles
B. The server needs a restart to apply the change
C. The command was typed incorrectly; it should be SLAVE OF NO ONE
D. SLAVEOF NO ONE only works on master servers

Solution

  1. Step 1: Understand what SLAVEOF NO ONE does

    This command tells the server to stop replicating and become a master.
  2. Step 2: Identify why the server still acts as replica

    If the server is still connected or replication not stopped properly, it remains a replica.
  3. Final Answer:

    The server is still connected to the master and did not switch roles -> Option A
  4. Quick Check:

    Server must disconnect from master to become master [OK]
Hint: Ensure replica disconnects from master to become master [OK]
Common Mistakes:
  • Typing SLAVE OF instead of SLAVEOF
  • Thinking restart is always needed
  • Believing SLAVEOF NO ONE only works on masters
5. You want to ensure your Redis setup continues working if the master fails. Which approach best uses master-replica architecture?
hard
A. Use only one replica and manually copy data to it daily
B. Disable replication and rely on backups only
C. Run multiple masters without replicas to balance load
D. Set multiple replicas and configure automatic failover to promote a replica to master

Solution

  1. Step 1: Identify the goal of continuous operation

    To keep Redis working if master fails, replicas must be ready to take over automatically.
  2. Step 2: Evaluate options for failover and replication

    Set multiple replicas and configure automatic failover to promote a replica to master uses multiple replicas and automatic failover, which is the best practice.
  3. Final Answer:

    Set multiple replicas and configure automatic failover to promote a replica to master -> Option D
  4. Quick Check:

    Multiple replicas + auto failover = high availability [OK]
Hint: Use multiple replicas with auto failover for master failure [OK]
Common Mistakes:
  • Relying on manual data copy only
  • Running multiple masters without replicas
  • Disabling replication and trusting backups alone
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard