Question: How does Redis handle replication and persistence?
Answer
Redis supports both data replication and persistence, which are crucial for ensuring data integrity, availability, and durability in a distributed system.
Replication: Redis uses asynchronous replication. A master can have multiple slaves, and the data is replicated to any number of slave Redis servers. Slaves are also capable of accepting connections from other slaves. This capability allows for a variety of configurations, such as chaining different slaves or creating a tree of slaves for larger and more robust systems.
Here's how you set it up:
# On the slave Redis server redis-cli SLAVEOF <master-ip> <master-port>
Persistence: Redis offers two types of persistence - RDB (Redis DataBase file) and AOF (Append Only File).
- RDB is a point-in-time snapshot of your dataset at specified intervals. It's perfect for backups or disaster recovery and provides faster restarts with large datasets.
For example, to save the DB on disk (creates a dump.rdb):
redis-cli SAVE
- AOF logs every write operation received by the server. It provides better durability as you can set Redis to log every change hitting the disk. AOF files are usually bigger than equivalent RDB files for the same dataset but they can be configured to be synchronized to disk less frequently.
To enable AOF persistence:
redis-cli CONFIG SET appendonly yes
In production environments, it's common to combine both RDB and AOF. The decision depends on your particular use case and understanding the trade-offs between performance, durability, and speed of recovery.
Was this content helpful?
Other Common Redis Questions (and Answers)
- What is the default port used by Redis?
- How to start Redis server?
- Is Redis persistent?
- How fast is Redis?
- How to install Redis on Mac?
- How to check if Redis is running?
- How to restart Redis?
- Does Redis persist data?
- How to install Redis on Ubuntu?
- How to stop Redis server?
- How to see Redis version?
- Does Redis have tables?
Free System Design on AWS E-Book
Download this early release of O'Reilly's latest cloud infrastructure e-book: System Design on AWS.
Switch & save up to 80%
Dragonfly is fully compatible with the Redis ecosystem and requires no code changes to implement. Instantly experience up to a 25X boost in performance and 80% reduction in cost