Bird
Raised Fist0
Redisquery~5 mins

Redis persistence overview (RDB, AOF)

Choose your learning style10 modes available
Introduction

Redis persistence saves your data so it is not lost when the server restarts or crashes.

You want to keep your data safe even if Redis stops unexpectedly.
You need to reload data quickly after a restart.
You want to balance between fast saving and minimal data loss.
You want to keep a history of changes for recovery.
You want to choose how often Redis saves data based on your needs.
Syntax
Redis
RDB (snapshotting): Redis saves data to a dump file at intervals.
AOF (Append Only File): Redis logs every write command to a file.

RDB creates snapshots of your data at set times.

AOF records every change, so it can replay commands to restore data.

Examples
This RDB config saves a snapshot if 1 key changes in 900 seconds, or 10 keys in 300 seconds, or 10000 keys in 60 seconds.
Redis
save 900 1
save 300 10
save 60 10000
This AOF config turns on logging and syncs the file every second for durability.
Redis
appendonly yes
appendfsync everysec
Sample Program

This shows checking current RDB save settings, checking if AOF is on, then turning AOF on.

Redis
127.0.0.1:6379> CONFIG GET save
1) "save"
2) "900 1 300 10 60 10000"
127.0.0.1:6379> CONFIG GET appendonly
1) "appendonly"
2) "no"
127.0.0.1:6379> CONFIG SET appendonly yes
OK
127.0.0.1:6379> CONFIG GET appendonly
1) "appendonly"
2) "yes"
OutputSuccess
Important Notes

RDB is faster for backups but may lose recent changes if Redis crashes.

AOF is safer but can be slower and the file grows over time.

You can use both together for better safety and faster recovery.

Summary

Redis persistence keeps your data safe across restarts.

RDB saves snapshots at intervals, good for fast backups.

AOF logs every change, good for minimal data loss.

Practice

(1/5)
1. What is the main purpose of Redis persistence?
easy
A. To speed up data retrieval during queries
B. To save data so it is not lost after a restart
C. To compress data for less storage use
D. To encrypt data for security

Solution

  1. Step 1: Understand Redis persistence goal

    Redis persistence is designed to keep data safe even if Redis restarts or crashes.
  2. Step 2: Match purpose with options

    Only To save data so it is not lost after a restart talks about saving data across restarts, which matches the goal.
  3. Final Answer:

    To save data so it is not lost after a restart -> Option B
  4. Quick Check:

    Persistence means saving data = A [OK]
Hint: Persistence means data stays after restart [OK]
Common Mistakes:
  • Confusing persistence with speed optimization
  • Thinking persistence compresses data
  • Assuming persistence encrypts data
2. Which Redis persistence method saves snapshots of the dataset at intervals?
easy
A. None of the above
B. AOF (Append Only File)
C. Both AOF and RDB
D. RDB (Redis Database)

Solution

  1. Step 1: Recall persistence methods

    RDB saves snapshots of the dataset at set intervals, while AOF logs every write operation.
  2. Step 2: Identify correct method for snapshots

    Only RDB matches the description of saving snapshots periodically.
  3. Final Answer:

    RDB (Redis Database) -> Option D
  4. Quick Check:

    Snapshots = RDB [OK]
Hint: Snapshots = RDB saves whole data periodically [OK]
Common Mistakes:
  • Mixing AOF with snapshot saving
  • Choosing both methods as snapshot savers
  • Thinking AOF saves snapshots
3. Given Redis configured with both RDB and AOF enabled, which statement is true about data recovery after a crash?
medium
A. Redis will use the AOF log if available, otherwise the RDB snapshot
B. Redis will use only the RDB snapshot for recovery
C. Redis will use only the AOF log for recovery
D. Redis cannot recover data if both are enabled

Solution

  1. Step 1: Understand recovery priority

    When both RDB and AOF are enabled, Redis prefers AOF for recovery because it has more recent data.
  2. Step 2: Analyze options

    Redis will use the AOF log if available, otherwise the RDB snapshot correctly states Redis uses AOF if available, else falls back to RDB.
  3. Final Answer:

    Redis will use the AOF log if available, otherwise the RDB snapshot -> Option A
  4. Quick Check:

    AOF if available else RDB = B [OK]
Hint: AOF has latest data, used first for recovery [OK]
Common Mistakes:
  • Assuming Redis uses only RDB always
  • Thinking Redis cannot recover with both enabled
  • Believing AOF is ignored if RDB exists
4. You configured Redis with AOF persistence but notice the AOF file is not growing after writes. What is the most likely cause?
medium
A. AOF rewrite is stuck and blocking writes
B. Redis is only using RDB snapshots
C. AOF persistence is disabled in the config
D. Redis does not support AOF persistence

Solution

  1. Step 1: Check AOF file behavior

    If AOF file size does not increase after writes, it suggests AOF is not active or enabled.
  2. Step 2: Identify cause from options

    AOF persistence is disabled in the config states AOF persistence is disabled, which explains no file growth.
  3. Final Answer:

    AOF persistence is disabled in the config -> Option C
  4. Quick Check:

    No AOF growth means AOF disabled = C [OK]
Hint: No AOF file growth? Check if AOF is enabled [OK]
Common Mistakes:
  • Assuming Redis does not support AOF
  • Thinking AOF rewrite blocks all writes
  • Confusing RDB usage with AOF file size
5. You want to minimize data loss in Redis but keep fast restart times. Which persistence setup is best?
hard
A. Enable both RDB snapshots and AOF with fsync every second
B. Enable only AOF with every write logged
C. Disable persistence and rely on backups
D. Enable only RDB snapshots every hour

Solution

  1. Step 1: Understand trade-offs

    RDB snapshots are fast but risk losing data between snapshots. AOF logs every write but can slow restarts.
  2. Step 2: Analyze combined setup

    Enabling both with AOF fsync every second balances minimal data loss and reasonable restart speed.
  3. Step 3: Evaluate other options

    Only RDB risks data loss; only AOF can slow restarts; disabling persistence risks total data loss.
  4. Final Answer:

    Enable both RDB snapshots and AOF with fsync every second -> Option A
  5. Quick Check:

    Best mix for safety and speed = D [OK]
Hint: Combine RDB + AOF for safety and speed [OK]
Common Mistakes:
  • Choosing only RDB and ignoring data loss risk
  • Choosing only AOF and ignoring restart speed
  • Disabling persistence entirely
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