Redis如何备份与恢复数据

news/2024/11/23 3:10:03/

文章目录

    • 1 数据持久化
      • 1.1 快照
      • 1.2 AOF
      • 1.3 混合持久化
      • 1.4 从节点持久化

1 数据持久化

Redis有自己的持久化机制,以防宕机后内存中的数据丢失。当宕机后,便从磁盘恢复内存数据结构。

1.1 快照

Redis是使用COW机制实现快照持久化。

  • 第一步:Redis可以fork出一个子进程,子进程与父进行共享内存中的数据页面,由子进程完成快照持久化任务。
  • 第二步:子进程处理的是产出时那一瞬间的数据,它不会修改现有的内存数据结构,只是对数据结构进行遍历读取,然后序列化写入磁盘中。
  • 第三步:在子进程进行快照持久化的过程中,父进程可能会修改数据,但是会先复制出一份数据页面,对这个复制的页面进行修改。

1.2 AOF

AOF日志记录了对Redis中数据的修改指令记录,可以通过重放的操作来恢复Redis中的数据结构。
AOF记录修改性指令过程:

  • 第一步:Redis接受客户端数据修改命令,先进行参数校验。
  • 第二步:将该指令存储到AOF日志中,即写入磁盘。
  • 第三步:执行对应的指令。

但是这会有一个问题,那就是AOF日志会随着Redis的长期运行而变得越来越长,那么重放AOF日志会非常耗时,恢复Redis将需要漫长的时间。
Redis提供了对AOF日志重写的机制:

  • 第一步:生成一个子进程,对当前Redis内存中的数据结构进行遍历,转换成一系列的操作指令并序列化到一个新的AOF日志文件中。
  • 第二步:将操作期间的增量AOF日志追加到新的AOF日志中。
  • 第三步:用新的AOF日志替换旧的AOF日志。

1.3 混合持久化

通常而言,快照和AOF各有弊端,比如使用快照会丢失数据,使用AOF性能很低,所以我们一般是将二者结合,混合持久化。

  • 第一步:Redis重启时,先加载快找中的内容。
  • 第二步:重放AOF日志,注意:这里的AOF日志是从快照持久化开始至今的日志,通常不大。

1.4 从节点持久化

一般而言,Redis的持久化操作是由从节点完成的,因为从节点没有来自于客户端的请求压力。但是我们需要注意如果从节点连接不上主节点,那么数据就会丢失,所以需要加强监控工作。


http://www.ppmy.cn/news/768908.html

相关文章

RabbitMQ学习(三):高级特性

文章目录 1 生产端如何可靠地投递消息1.1 消息落库打标1.2 消息延迟投递,通过二次确认回调检查。 2 生产者确认(Confirm消息确认机制)3 消息的幂等性保障3.1 唯一ID 指纹码 机制3.2 利用Redis的原子性实现 4 Return消息机制5 消息的分发与消…

Spring事务的一些总结

文章目录 1 Transactional 注解特性2 事务的属性3 事务的嵌套4 事务超时设置5 Transaction注解不回滚的可能原因6 事务的基本要素(ACID)7 事务的原理8 数据并发问题9 数据库隔离级别10 Spring隔离级别11 底层所使用的不同的持久化API或框架 1 Transactional 注解特性 可以在整…

计算机科学与技术万金油专业,盘点工学大类里的“万金油”专业

原标题:盘点工学大类里的“万金油”专业 教育部2012年最新修订的本科生专业名录中把专业重新进行了从学科门类到专业类和专业的划分,共计12大学科门类,分别是理、工、农、医 ,管、教、文、艺 经、史、法、哲.92大专业类&#xff0…

程序员的浪漫(使用python画图)比心心(待完善版)

本人给女朋友准备的小惊喜,如有需要可以取用。(代码内有注释可根据需要更改) #比心!! import turtle # turtle.bgpic(D:/python/bjtp/aa.jpg) turtle.speed(10)#画笔速度 turtle.setup(1800,700,70,70) turtle.color(b…

一行代码解决判断IE浏览器和提示升级问题

IE8及以下版本提示升级&#xff08;使用IE9和旧版IE支持 if IE 条件注释语句实现&#xff09; <!--[if lte IE 8]><script>alert("您正在使用的浏览器版本过低&#xff0c;为了您的最佳体验&#xff0c;请先升级浏览器。");window.location.href"h…

win7 ie11版本安装报此更新不适用于计算机问题

IE版本升级需要KB2729094、KB2731771、KB2533623、KB2670838、KB2786081五个补丁安装 五个补丁需要根据计算机决定并下载&#xff0c;如&#xff1a;32位选x86 64位选X64 补丁安装时如果也出现了此更新不适用于计算机问题&#xff0c;可以在dos&#xff08;管理员身份&#xf…

浏览器为低版本IE的时候的信息提示;旧版 Internet Explorer 升级提示页;旧版 Internet Explorer 淘汰行动

本部分内容来自&#xff1a;https://support.dmeng.net/ 旧版 Internet Explorer 升级提示页 旧版 Internet Explorer 淘汰行动 微软对旧版 Internet Explorer 的支持服务已终止的说明 X-UA-Compatibility Meta Tag and HTTP Response Header if IE 条件注释说明 360浏览…

IE低版本常见的兼容问题解决

当每次谈到解决低版本IE兼容问题时&#xff0c;不知道大家有没有一种头皮发麻的感觉(内心独白&#xff1a;谁tm发明的IE&#xff0c;我要s了他&#xff0c;开个玩笑&#xff09;. 下面我们就简单谈一谈低版本IE常见的兼容问题&#xff1a; 在我们解决浏览器的兼容问题时&…