Synchronization in Redis helps keep data the same between the main server and its copies. This makes sure all users see the same information.
When you want to make a backup of your Redis data on another server.
When you have multiple Redis servers and want them to share the same data.
When you want to recover data quickly if the main server stops working.
When you want to balance the load by letting copies handle some requests.
When you want to keep data safe by having copies in different places.
Syntax
Redis
SYNC
The SYNC command is sent from a replica to the master to start synchronization.
After SYNC, the master sends a snapshot of the data to the replica.
Examples
This command is used by a replica to ask the master to send all data for synchronization.
Redis
SYNC
Partial synchronization command where the replica asks for only changes since a certain point.
Redis
PSYNC <runid> <offset>
Sample Program
This example shows how a replica server tells the master to start synchronization by using the REPLICAOF command. Redis handles the SYNC command automatically to copy data.
Redis
# On replica server, connect to master and send SYNC command# This is handled automatically by Redis when setting up replication# Example Redis CLI command to set up replication:
REPLICAOF 192.168.1.1006379# Redis will then send SYNC command internally to master# Master sends snapshot data to replica# Replica applies data and stays updated with changes
OutputSuccess
Important Notes
Synchronization happens automatically after setting up replication with the REPLICAOF command.
Partial synchronization (PSYNC) helps save time by sending only new changes instead of full data.
During synchronization, the replica may be unavailable for a short time until data is copied.
Summary
Synchronization keeps data the same between master and replicas.
SYNC command copies all data from master to replica.
Redis handles synchronization automatically after replication setup.
Practice
(1/5)
1. What is the main purpose of the Redis synchronization process between master and replica?
easy
A. To keep data the same between master and replica
B. To delete old data from the master
C. To speed up client requests
D. To backup data to an external server
Solution
Step 1: Understand synchronization goal
Synchronization in Redis ensures that the replica has the same data as the master.
Step 2: Compare options with synchronization purpose
Only To keep data the same between master and replica matches the goal of keeping data consistent between master and replica.
Final Answer:
To keep data the same between master and replica -> Option A
Quick Check:
Synchronization = Data consistency [OK]
Hint: Synchronization means data stays the same on master and replica [OK]
Common Mistakes:
Thinking synchronization deletes data
Confusing synchronization with backup
Assuming synchronization speeds up queries
2. Which Redis command initiates a full synchronization from master to replica?
easy
A. REPLCONF
B. SYNC
C. PSYNC
D. SAVE
Solution
Step 1: Identify command for full sync
The SYNC command copies all data from master to replica for full synchronization.
Step 2: Differentiate from other commands
REPLCONF is for replication config, PSYNC is partial sync, SAVE is for persistence, so SYNC is correct.
Final Answer:
SYNC -> Option B
Quick Check:
Full sync command = SYNC [OK]
Hint: SYNC command copies all data from master to replica [OK]
Common Mistakes:
Confusing PSYNC with full sync
Using SAVE instead of SYNC
Thinking REPLCONF triggers data copy
3. Given a Redis master and replica setup, what happens after the replica sends the SYNC command to the master?
medium
A. The replica deletes its data and waits
B. The replica becomes the new master
C. The master stops accepting writes temporarily
D. The master sends all its data to the replica
Solution
Step 1: Understand SYNC command effect
When replica sends SYNC, master sends all its data to replica to copy.
Step 2: Check other options for correctness
Replica does not delete data first, master does not stop writes, and replica does not become master here.
Final Answer:
The master sends all its data to the replica -> Option D
Quick Check:
SYNC triggers full data send from master [OK]
Hint: SYNC means master sends full data to replica [OK]
Common Mistakes:
Thinking replica deletes data before sync
Assuming master stops writes during sync
Confusing roles of master and replica
4. You set up a Redis replica but it never completes synchronization. Which of these is a likely cause?
medium
A. The replica's SYNC command is misspelled
B. The replica is running a different Redis version
C. Network issues prevent data transfer
D. The master has no data to send
Solution
Step 1: Analyze synchronization failure reasons
Network problems can block data transfer, causing sync to never complete.
Step 2: Evaluate other options
SYNC command is fixed in Redis protocol, master always sends data if present, version mismatch usually causes errors but not infinite sync.
Final Answer:
Network issues prevent data transfer -> Option C
Quick Check:
Network problems block sync completion [OK]
Hint: Check network if sync never finishes [OK]
Common Mistakes:
Assuming command spelling causes sync failure
Ignoring network connectivity
Blaming version mismatch without error logs
5. In a Redis cluster, how does the synchronization process handle data consistency when a replica reconnects after a network failure?
hard
A. It performs a partial resynchronization using PSYNC if possible
B. It always performs a full SYNC command regardless of previous state
C. It ignores missed commands and continues normally
D. It requires manual data copy from master to replica
Solution
Step 1: Understand reconnection sync in Redis
Redis tries partial resynchronization (PSYNC) to send only missing data after failure.
Step 2: Compare with other options
Full SYNC is fallback if PSYNC fails, ignoring missed commands causes inconsistency, manual copy is not needed.
Final Answer:
It performs a partial resynchronization using PSYNC if possible -> Option A