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

相关推荐

11-27 17:08
已编辑
牛客_产品运营部_私域运营
腾讯 普通offer 24k~26k * 15,年包在36w~39w左右。
点赞 评论 收藏
分享
投递大华股份等公司10个岗位
点赞 评论 收藏
分享
jack_miller:我给我们导员说我不在这里转正,可能没三方签了。导员说没事学校催的时候帮我想办法应付一下
点赞 评论 收藏
分享
评论
3
2
分享
牛客网
牛客企业服务