Redis 中两种持久化机制详解,消息队列kafka面试

这种方式可以将某一时刻的所有数据都写入硬盘中,这也是Redis 的默认开启持久化方式,保存的文件是以 .rdb 形式结尾的文件,因此这种方式也称之为 RDB方式。快照生成方式:客户端方式:BGSAVE 和 SAVE 指令服务器配置自动触发服务器 SHUTDOWN 自动触发1. 客户端方式之 BGSAVE(多线程执行)客户端可以使用 BGSAVE 命令来创建一个快照,当接收到客户端的 BGSAVE 命令时,Redis 会调用 fork 来创建一个子进程,然后子进程负责将快照写入
摘要由CSDN通过智能技术生成

这种方式可以将某一时刻的所有数据都写入硬盘中,这也是Redis 的默认开启持久化方式,保存的文件是以 .rdb 形式结尾的文件,因此这种方式也称之为 RDB方式。

在这里插入图片描述

快照生成方式:

  • 客户端方式:BGSAVESAVE 指令

  • 服务器配置自动触发

  • 服务器 SHUTDOWN 自动触发

1. 客户端方式之 BGSAVE(多线程执行)


客户端可以使用 BGSAVE 命令来创建一个快照,当接收到客户端的 BGSAVE 命令时,Redis 会调用 fork 来创建一个子进程,然后子进程负责将快照写入磁盘中,而父进程则继续处理命令请求。

fork:当一个进程创建子进程的时候,底层的操作系统会创建该进程的一个副本,在类unix系统中创建子进程的操作会进行优化:在刚开始的时候,父子进程共享相同内存,直到父进程或子进程对内存进行了写之后,对被写入的内存的共享才会结束服务。

在这里插入图片描述

2. 客户端方式之 SAVE(单线程执行)


客户端还可以使用 SAVE 命令来创建一个快照,接收到 SAVE 命令的 Redis服务器在快照创建完毕之前将不再响应任何其他的命令;

注意:SAVE 命令并不常用,使用 SAVE 命令在快照创建完毕之前,Redis处于阻塞状态

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值