RDB(Redis 数据库):RDB 持久性以指定的时间间隔执行数据集的时间点快照。
在指定的时间间隔,执行数据集的时间点快照 实现类似照片记录效果的方式,就是把某一时刻的数据和状态以文件的形式写到磁盘上,也就是快照。这样一来即使故障宕机,快照文件也不会丢失,数据的可靠性也就得到了保证。 这个快照文件就称为RDB文件(dump.rdb),其中,RDB就是Redis DataBase的缩写。 将内存数据全部保存到磁盘dump.rdb文加中
优势
适合大规模的数据恢复 按照业务定时备份 对数据完整性和一致性要求不高 RDB 文件在内存中的加载速度比AOF快得多 劣势
在一定间隔时间做一次备份,如果redis意外down机,就会丢掉最近一次快照到down机时的数据 内存数量的全量同步,如果数据量过大会导致IO严重影响服务器性能 RDB依赖于主进程的 fork ,在更大的数据集中,这可能会导致服务器请求的瞬间延迟 fork 的时候内存中的数据被克隆了一份,大致2倍的膨胀性,需要考虑恢复备份手动操作
Save 在主线程中执行会阻塞redis服务器,直到持久化工作完成才能处理其他命令, 线上禁止使用 BGSAVE(默认) Redis 会在后台异步进行快照操作,不阻塞快照同时还可以响应客户端请求,该触发过程会 fork 一个子进程由子进程复制持久化过程 lastsave 命令可以获取最后一次成功执行快照的时间
介绍 以日志的形式来记录每个写操作,将Redis执行过的所有写指令记录下来(读操作不记录),只许追加文件但不可以改写文件,redis启动之初会读取该文件重新构建数据,换言之,redis重启的话就根据日志文件的内容将写指令从前到后执行一次以完成数据的恢复工作 默认情况下,redis是没有开启AOF的 开启AOF 功能需要设置配置 : appendonly yes