📖 Scenario: You are setting up a Redis server environment where one Redis instance acts as the master and another as the replica. This setup helps in data redundancy and load distribution.
🎯 Goal: Configure a Redis replica to follow a master Redis server by setting the correct replication parameters.
📋 What You'll Learn
Create a Redis configuration file snippet for the master server with default settings.
Add a configuration variable for the replica server to specify the master's IP address.
Write the replication directive in the replica configuration to connect to the master.
Complete the replica configuration by setting the replica's port and enabling replication.
💡 Why This Matters
🌍 Real World
Replication in Redis is used to create copies of data on multiple servers to improve reliability and distribute read load.
💼 Career
Understanding Redis replication configuration is essential for roles involving database administration, backend development, and system reliability engineering.
Progress0 / 4 steps
1
Create Master Redis Configuration
Create a Redis configuration snippet for the master server with the line port 6379 and bind 127.0.0.1.
Redis
Hint
Use port 6379 to set the port and bind 127.0.0.1 to restrict connections to localhost.
2
Add Replica Master IP Configuration
Add a line to the replica configuration snippet to specify the master's IP address as 192.168.1.100 using the directive replicaof 192.168.1.100 6379.
Redis
Hint
Use the replicaof directive followed by the master's IP and port.
3
Write Replication Directive
In the replica configuration, ensure the line replicaof 192.168.1.100 6379 is present to connect to the master server.
Redis
Hint
Add replica-read-only yes to ensure the replica does not accept writes.
4
Complete Replica Configuration
Complete the replica configuration by adding port 6380 to set the replica's port and keep the existing replication settings.
Redis
Hint
Change the port to 6380 for the replica and keep the replication directives.
Practice
(1/5)
1. What is the primary purpose of Redis replication?
easy
A. To compress data stored on disk
B. To delete old data from the database
C. To copy data from a master server to replicas automatically
D. To encrypt data during transmission
Solution
Step 1: Understand replication concept
Replication means copying data from one server (master) to others (replicas) automatically.
Step 2: Identify the main goal
This copying helps keep data safe and allows multiple servers to serve read requests.
Final Answer:
To copy data from a master server to replicas automatically -> Option C
Quick Check:
Replication = Data copying [OK]
Hint: Replication means copying data from master to replicas [OK]
Common Mistakes:
Confusing replication with data deletion
Thinking replication encrypts data
Assuming replication compresses data
2. Which Redis command is used to configure a server as a replica of another?
easy
A. REPLICAOF <master_ip> <master_port>
B. CONNECT <master_ip> <master_port>
C. SYNC <master_ip> <master_port>
D. COPYFROM <master_ip> <master_port>
Solution
Step 1: Recall Redis replication commands
Redis uses the command REPLICAOF (formerly SLAVEOF) to set a server as a replica.
Step 2: Check command correctness
Only REPLICAOF accepts master IP and port to configure replication.
Final Answer:
REPLICAOF <master_ip> <master_port> -> Option A
Quick Check:
Replica config command = REPLICAOF [OK]
Hint: Use REPLICAOF to set replication target server [OK]
Common Mistakes:
Using CONNECT which is not a Redis replication command
Confusing SYNC with configuration command
Inventing COPYFROM which does not exist
3. Given this Redis config snippet:
replicaof 192.168.1.10 6379
replica-read-only yes
What is the effect of replica-read-only yes?
medium
A. The replica rejects write commands and only allows reads
B. The replica can accept write commands from clients
C. The replica disables replication from the master
D. The replica automatically becomes a master
Solution
Step 1: Understand replica-read-only setting
Setting replica-read-only to yes means the replica will not accept writes from clients.
Step 2: Identify behavior of replica
The replica only allows read commands and rejects any write commands to keep data consistent with master.
Final Answer:
The replica rejects write commands and only allows reads -> Option A
Quick Check:
replica-read-only yes = read-only replica [OK]
Hint: replica-read-only yes means no writes allowed on replica [OK]
Common Mistakes:
Thinking replica can write data with this setting
Assuming replication stops with this option
Believing replica becomes master automatically
4. You run replicaof 192.168.1.20 6379 on a Redis server but replication does not start. What is a likely cause?
medium
A. The command should be replicaof start instead
B. The master IP or port is incorrect or unreachable
C. The replica server has no data to replicate
D. Redis does not support replication
Solution
Step 1: Check network and master details
If replication does not start, often the master IP or port is wrong or the replica cannot reach the master.
Step 2: Verify command correctness
The command replicaof with IP and port is correct; no 'start' keyword is needed.
Final Answer:
The master IP or port is incorrect or unreachable -> Option B
Quick Check:
Replication fails if master unreachable [OK]
Hint: Check master IP and port if replication fails [OK]
Common Mistakes:
Using wrong command syntax like replicaof start
Assuming replication needs data on replica first
Thinking Redis does not support replication
5. You want to set up a Redis replica that can serve read requests but also allow some writes during maintenance. Which configuration is best?
hard
A. Use replicaof <master_ip> <master_port> and set replica-read-only yes
B. Set the replica as master with no replication
C. Do not use replication; instead manually copy data
D. Use replicaof <master_ip> <master_port> and set replica-read-only no
Solution
Step 1: Understand replica-read-only option
Setting replica-read-only to no allows writes on the replica, useful during maintenance.
Step 2: Combine with replication setup
Using replicaof configures replication; setting replica-read-only no allows writes while still replicating.
Final Answer:
Use replicaof <master_ip> <master_port> and set replica-read-only no -> Option D
Quick Check:
replica-read-only no allows writes on replica [OK]
Hint: Set replica-read-only no to allow writes on replica [OK]
Common Mistakes:
Assuming replica-read-only yes allows writes
Thinking manual copy replaces replication
Confusing replica with master roles
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.