redis的持久化策略,持久化就是把内存的数据持久化到磁盘上
RDB持久化,以快照的形式把进程数据持久化到硬盘上,RDB会创建一个二进制的压缩文件,文件以.RDB结尾,内部存储了各个数据库的键值对数据等信息
RDB持久化的触发方式有两种:
手动触发:通过SAVE命令或BGSAVE命令触发RDB持久化操作,创建.rdb文件
自动触发:通过配置选项,让服务器在满足指定条件时自动触发BGSAVE命令
AOF持久化:解决了redis持久化的实时性问题,通过独立日志的方式,写入命令,重启时再重新执行AOF文件中的命令来恢复数据
命令写入、文件同步,文件重写,重启加载
RDB-AOF混合持久化
redis4.0开始引入RDB-AOF混合持久化,这种模式是基于AOF持久化构建而来的,aof-use-rdb-preamble yes配置项开启AOF混合持久化,redis服务器在执行AOF重写操作时,会按照如下原则处理数据
像执行BGSAVE命令一样,根据数据库当前的状态生成相应的RDB数据,并将其写入AOF文件中
对于重写之后执行的redis命令,则以协议文本的方式追加到AOF文件的末尾,即RDB数据之后
RDB
就是用快照的方式将进程数据持久化到硬盘上,会创建二进制的.rdb文件,用来存储各种数据库的键值对信息等,rdb持久化的处罚方式有两种,手动触发,自动触发,save命令,bgsave命令,redis服务器阻塞,bgsave异步的save,会fork出一个子进程,这是会短暂阻塞,然后父进程可以去处理客户端发来的请求,不用save了
流程:如果父进程有子进程,则返回,没有父进程就阻塞fork出子进程,父进程响应,创建.rdb文件,存储父进程的内存数据,通知父进程,用新的文件替换旧的.rdb文件
aof
以独立日志的方式,将命令写入,文件同步,文件重写,重启加载,
RDB持久化,以快照的形式把进程数据持久化到硬盘上,RDB会创建一个二进制的压缩文件,文件以.RDB结尾,内部存储了各个数据库的键值对数据等信息
RDB持久化的触发方式有两种:
手动触发:通过SAVE命令或BGSAVE命令触发RDB持久化操作,创建.rdb文件
自动触发:通过配置选项,让服务器在满足指定条件时自动触发BGSAVE命令
AOF持久化:解决了redis持久化的实时性问题,通过独立日志的方式,写入命令,重启时再重新执行AOF文件中的命令来恢复数据
命令写入、文件同步,文件重写,重启加载
RDB-AOF混合持久化
redis4.0开始引入RDB-AOF混合持久化,这种模式是基于AOF持久化构建而来的,aof-use-rdb-preamble yes配置项开启AOF混合持久化,redis服务器在执行AOF重写操作时,会按照如下原则处理数据
像执行BGSAVE命令一样,根据数据库当前的状态生成相应的RDB数据,并将其写入AOF文件中
对于重写之后执行的redis命令,则以协议文本的方式追加到AOF文件的末尾,即RDB数据之后
RDB
就是用快照的方式将进程数据持久化到硬盘上,会创建二进制的.rdb文件,用来存储各种数据库的键值对信息等,rdb持久化的处罚方式有两种,手动触发,自动触发,save命令,bgsave命令,redis服务器阻塞,bgsave异步的save,会fork出一个子进程,这是会短暂阻塞,然后父进程可以去处理客户端发来的请求,不用save了
流程:如果父进程有子进程,则返回,没有父进程就阻塞fork出子进程,父进程响应,创建.rdb文件,存储父进程的内存数据,通知父进程,用新的文件替换旧的.rdb文件
aof
以独立日志的方式,将命令写入,文件同步,文件重写,重启加载,
全部评论
相关推荐
点赞 评论 收藏
分享
昨天 00:35
南京信息工程大学 Java 剑与她皆失:12月你不用再对我宣战,我已投降,我已经闻到你的恶意了。1234567891011月我都既往不咎,我只求今年最后一个月可以放过我,不要什么狗屁爱情,一个大厂offer就可以了,12月我求求你放过我。
点赞 评论 收藏
分享