redis(3)RDB持久化
1、介绍
RDB持久化机制,是对redis中的数据执行周期性的持久化,即定时将redis内存中的数据快照保存到硬盘。
2、RDB持久化机制的优点
- RDB会生成多个数据文件,每个数据文件都代表了某一个时刻中redis的数据,这种多个数据文件的方式,非常适合做冷备,可以将这种完整的数据文件发送到一些远程的安全存储上去;
- RDB对redis对外提供的读写服务,影响非常小,可以让redis保持高性能,因为redis主进程只需要fork一个子进程,让子进程执行磁盘IO操作来进行RDB持久化即可;
- 相对于AOF持久化机制来说,直接基于RDB数据文件来重启和恢复redis进程,更加快速;
3、RDB持久化机制的缺点
- 如果想要在redis故障时,尽可能少的丢失数据,那么RDB没有AOF好。一般来说,RDB数据快照文件,都是每隔5分钟,或者更长时间生成一次,这个时候就得接受一旦redis进程宕机,那么会丢失最近5分钟的数据;
- RDB每次在fork子进程来执行RDB快照数据文件生成的时候,如果数据文件特别大,可能会导致对客户端提供的服务暂停数毫秒,或者甚至数秒;
4、RDB配置
1 | ################################ SNAPSHOTTING ################################ |
redis的RDB持久化默认开启,并以默认以下条件触发快照保存redis内存数据:
- 每900秒(15分钟)有1条数据变动;
- 每300秒(5分钟)有10条数据变动;
- 每60秒(1分钟)有10000表数据变动;