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
以独立日志的方式,将命令写入,文件同步,文件重写,重启加载,
全部评论
相关推荐

点赞 评论 收藏
分享
06-04 10:32
安徽大学 单片机 实习僧和BOSS直聘都投了几十家,硬件开发,硬件测试,嵌入式都投了,全是已读不回……我现在考虑想在秋招前速成一个Linux项目,其实现在完全不知道自己要找什么方向的,只能海投了,求大佬们给点意见😭😭😭

点赞 评论 收藏
分享
嘀哩咕噜说啥呢:小米辣吗
,那举办了

点赞 评论 收藏
分享
码农索隆:确实没毛病,踏踏实实走好每一步,才能越走越远
点赞 评论 收藏
分享