Redis persistence overview (RDB, AOF) - Time & Space Complexity
When Redis saves data to disk, it uses methods like RDB snapshots or AOF logs. We want to understand how the time it takes to save data changes as the amount of data grows.
How does saving more data affect the time Redis spends writing to disk?
Analyze the time complexity of saving data using RDB snapshots and AOF appends.
# RDB snapshot save
SAVE
# AOF append operation
APPEND key value
# AOF rewrite triggered
BGREWRITEAOF
This code shows Redis commands for saving data: RDB saves a full snapshot, AOF appends commands, and AOF rewrite compacts the log.
Look at what repeats when saving data.
- Primary operation: Writing each key-value pair to disk.
- How many times: For RDB, all keys are saved at once during snapshot. For AOF, each write command is appended individually.
As the number of keys grows, the time to save changes.
| Input Size (n keys) | Approx. Operations |
|---|---|
| 10 | Writes 10 keys to disk |
| 100 | Writes 100 keys to disk |
| 1000 | Writes 1000 keys to disk |
Pattern observation: The time to save grows roughly in direct proportion to the number of keys.
Time Complexity: O(n)
This means saving data takes time that grows linearly with how many keys Redis holds.
[X] Wrong: "Saving data time stays the same no matter how much data there is."
[OK] Correct: Saving means writing each key to disk, so more keys take more time.
Understanding how Redis persistence time grows helps you explain performance in real systems. It shows you how data size affects saving speed, a useful skill for database work.
"What if Redis used incremental snapshots instead of full snapshots? How would the time complexity change?"