Redis的持久化----RDB快照模式
一.概念
redis持久化,就是将内存中的数据,永久的保存在磁盘上
redis持久化有两种方式:RDB(Redis DB) ,AOF(AppendOnlyFile)
二.RDB(快照模式)
1.概述
在默认情况下,Redis 将数据库快照保存在名字为dump.rdb的二进制文件中,可以在redis.conf配置文件中修改持久化信息。
save 900 1 表示在900秒内,至少更新了1条数据。Redis就将数据持久化到硬盘
save 300 10 表示在300内,至少更新了10条数据,Redis就会触发将数据持久化到硬盘
save 60 10000 表示60秒内,至少更新了10000条数据,Redis就会触发将数据持久化到硬盘
2.策略
(1)自动:bgsave
按照配置文件中的条件满足就执行BGSAVE;
非阻塞,Redis服务正常接收处理客户端请求;
Redis会folk()一个新的子进程来创建RDB文件,子进程处理完后会向父进程发送一个信号,通知它处理完毕;
父进程用新的dump.rdb替代旧文件。
(2)手动:SAVE
客户端(redis-cli)发起SAVE命令;
阻塞Redis服务,无法响应客户端请求;
创建新的dump.rdb替代旧文件。
3.优点
(1)执行效率高
(2)恢复大数据集速度较AOF快
4.缺点
(1)会丢失最近写入、修改的而未能持久化的数据;
(2)folk过程非常耗时,会造成毫秒级不能响应客户端请求。