Redis saves its data to disk as RDB snapshots or an AOF log, or both. A pure cache can turn persistence off.
Redis Database (RDB) saves a point-in-time snapshot at set intervals. Redis forks a child process, a copy of itself, which writes one compact binary file. That file suits backups, disaster recovery and fast restarts. After a crash you lose the writes since the last snapshot, often several minutes.
Append Only File (AOF) logs every write operation, and Redis replays it at startup. The default appendfsync everysec risks about one second of writes, and always syncs every write but is slow. The file is larger and Redis restarts from it more slowly, so Redis rewrites it in the background.
With both on, Redis restores from the AOF, the more complete copy. The AOF starts from a base file, a snapshot the logged writes follow. By default that base uses the RDB format, so it loads fast.
# RDB configuration
# Save if at least 1 key changed in 900 seconds
save 900 1
# Save if at least 10 keys changed in 300 seconds
save 300 10
# AOF configuration
appendonly yes
# Options: always, everysec, no
appendfsync everysec
This answer doesn't lend itself to a diagram - it reads best . No credits were charged.
Why there's no diagram: “”
The interactive diagram is below the answer - jump to diagram ↓ · Below it, the related concept . Jump to it ↓
The diagram below the answer is the concept . Jump to it ↓