Redis面试题----Redis 的持久化机制是什么?各自的优缺点?
Redis 提供了两种主要的持久化机制,分别是 RDB(Redis Database)和 AOF(Append Only File),下面将详细介绍它们的原理、优缺点。
RDB(Redis Database)
原理
RDB 持久化是将 Redis 在某个时间点上的数据集快照以二进制文件的形式保存到磁盘上。可以通过手动执行 SAVE
或 BGSAVE
命令来触发快照的生成,也可以配置 Redis 在满足一定条件(如一定时间内发生了一定数量的写操作)时自动执行快照操作。
- SAVE:该命令会阻塞 Redis 服务器进程,直到 RDB 文件创建完毕,在此期间,服务器不能处理任何客户端请求。
- BGSAVE:该命令会派生出一个子进程,由子进程负责创建 RDB 文件,服务器进程(父进程)继续处理客户端请求。
优点
- 文件紧凑:RDB 文件是一个经过压缩的二进制文件,占用的磁盘空间相对较小,适合用于备份、灾难恢复和数据迁移等场景。
- 恢复速度快:由于 RDB 文件保存的是某个时间点上的数据集快照,在恢复数据时,Redis 可以直接加载该文件,不需要像 AOF 那样进行重放操作,因此恢复速度更快。
- 对性能影响小:使用
BGSAVE
时