[Redis]——Redis持久化的两种方式RDB、AOF

目录

RDB快照模式

概念:

触发时机:

异步做快照

 AOF追加模式

概念:

触发时机:

bgrewriteaof命令:

比较两种模式: 


RDB快照模式

概念

        RDB模式就是保存当前Redis的状态到本地磁盘文件,生成一个xxx.rdb文件,实现数据持久化。

触发时机

        当Redis退出时,会触发save命令,保存快照,当Redis运行时,如果某个时间段有几个Key被修改了,可能触发bgsave命令,这取决于配置文件,例如 每30秒有1个key被修改。此外bgsave命令是开启子线程做快照操作。

异步做快照


 AOF追加模式

概念:

        将每一条Redis命令存到aof文件里面,并且对相同Key的修改也不会覆盖前面的命令。

触发时机:
  • 也是根据配置文件的信息
  • appendsync always - 每执行一条命令,操作内存的同时也更新磁盘
  • appendsync everysec - 操作内存的同时更新AOF缓存,每一秒,将AOF缓存文件更新到磁盘
  • appendsync no - 操作内存的同时更新AOF缓存,由操作系统决定何时写入磁盘。
bgrewriteaof命令:

        为减小aof文件的大小,可以对该文件进行压缩。还是根据配置文件的参数,auto-aof-rewrite-percentage 100 如果文件比上次文件增长超过1倍,触发bgrewriteaof命令,auto-aof-rewrite-min-size 64mb aof文件触发自动重写命令的最小体积


比较两种模式: 

  • 使用场景:RDB高性能,AOF数据高一致性
  • 文件大小:RDB文件小,只保留最后一次修改的数据,AOF保存每一条命令
  • 持久化方式:RDB定时做快照,AOF记录每一次执行命令
  • 宕机恢复:RDB快,AOF慢
  • 系统资源占用:RDB因为是对整个数据库做快照,所以大量消耗CPU和内存,AOF追加命令,主要占用磁盘IO,但重写时会占用大量CPU和内存。

相关推荐

  1. Docker 数据持久方式

    2024-03-15 08:40:03       34 阅读
  2. Unity笔记:数据持久方式

    2024-03-15 08:40:03       39 阅读
  3. Redis 持久有几方式

    2024-03-15 08:40:03       34 阅读
  4. Redis持久方式

    2024-03-15 08:40:03       28 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-03-15 08:40:03       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-15 08:40:03       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-15 08:40:03       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-15 08:40:03       18 阅读

热门阅读

  1. 第十次CCF-CSP(Markdown、地铁修建)

    2024-03-15 08:40:03       20 阅读
  2. 项目示例 - 4.配置中心 - 1.Nacos

    2024-03-15 08:40:03       16 阅读
  3. WPF 两个程序之间传递参数(shell32.dll)

    2024-03-15 08:40:03       19 阅读
  4. 【C语言】宏定义的详解与实践

    2024-03-15 08:40:03       21 阅读
  5. Docker学习笔记

    2024-03-15 08:40:03       20 阅读
  6. 【Linux】文本替换Ubuntu 中 sed 指令的使用指南

    2024-03-15 08:40:03       20 阅读
  7. Uni-app开发Canvas当子组件示例,点点绘制图形

    2024-03-15 08:40:03       16 阅读