Bird
Raised Fist0
Redisquery~5 mins

Master-replica architecture in Redis - Time & Space Complexity

Choose your learning style10 modes available
Time Complexity: Master-replica architecture
O(n)
Understanding Time Complexity

When using Redis master-replica setup, it is important to understand how the time to process commands grows as data or replicas increase.

We want to know how the system handles more data or more replicas in terms of speed.

Scenario Under Consideration

Analyze the time complexity of replicating data from master to replicas.


# Setup on each replica (once):
REPLICAOF master_host master_port

# Master writes data
SET key value

# Master automatically sends updates to all connected replicas
# Replica receives and applies updates
# This happens continuously as master changes
    

This code shows a master writing data and replicas copying those changes continuously.

Identify Repeating Operations

Identify the loops, recursion, array traversals that repeat.

  • Primary operation: Master sends each write command to all replicas.
  • How many times: For each write, the master sends data to every replica.
How Execution Grows With Input

As the number of replicas grows, the master must send the same data to more places.

Input Size (n = replicas)Approx. Operations
11 send per write
1010 sends per write
100100 sends per write

Pattern observation: The work grows directly with the number of replicas.

Final Time Complexity

Time Complexity: O(n)

This means the time to replicate data grows linearly as you add more replicas.

Common Mistake

[X] Wrong: "Adding more replicas does not affect the master's speed because replicas work independently."

[OK] Correct: The master must send data to each replica, so more replicas mean more work for the master.

Interview Connect

Understanding how replication scales helps you design systems that stay fast as they grow. This skill shows you can think about real system limits and plan accordingly.

Self-Check

"What if the master batches updates before sending to replicas? How would the time complexity change?"

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