概念
RDB(Redis DataBase)
隔一段时间将内存中的数据写入snapshot快照中
恢复数据就是读取snapshot快照文件到内存中
原理
Redis会单独创建一个fork子进程进行持久化,会将内存数据写入临时文件中
每次持久化的过程结束,会替换上次的临时文件,保持数据的即时性
主进程不进行io操作,性能很高
如果对于数据完整性不是特别敏感,RBD比AOF更高效
RDB的缺点最后一次持久化的数据可能丢失
临时文件是dump.rdb
恢复
自动重新读取临时文件,保持持久化
1.在进行关闭redis时,会将关闭时的数据保存到临时文件中
2.在redis重新启动时会读取dump.rdb文件
设置持久化策略
save 秒 写操作次数
save 300 10
禁用:save “”
立马保存:
save 阻塞其他进程开始保存
bgsave 后台进行快照保存,主进程写操作还可以用
优势
1.适合大规模的数据恢复
2.对完整性和一致性要求不高
劣势
1.意外down掉,最后一次作出修改的数据没有备份
2.fork子进程,被克隆了一份,数据是2倍。需要考虑内存空间是否足够
如何停止备份操作
redis-cli config save “”
参考资料:尚硅谷周阳redis讲解
本文章将持续更新,欢迎互相学习