redis kill不掉_浅谈redis的持久化机制

本文详细探讨了Redis的两种持久化机制:RDB(快照)和AOF(追加日志)。RDB在指定条件或命令触发时创建数据快照,适合大规模数据恢复但可能丢失部分数据。AOF记录所有写操作,数据丢失少但文件体积可能较大。Redis 4.0引入混合持久化,结合RDB和AOF的优点。在面试中,了解这两种机制及其应用场景至关重要。
摘要由CSDN通过智能技术生成

da4fe04173600ebe414a94207c189de8.png

redis在面试中最常遇到的问题就是持久化问题,下面我们来简单聊一下redis的两种持久化机制以及新版本中的混合持久化机制。

1.rdb

RDB是默认开启的,持久化的文件名为dump.rdb。

原理是redis会单独创建(fork)一个与当前进程一模一样的子进程来进行持久化,这个进程的所有数据(变量,环境变量,程序程序计数器等)都和原进程一模一样,会先将数据写入道一个临时文件中,持久化结束了,再用这个临时文件替换上次持久化好的文件,整个过程中,主进程不进行任何的io操作,这就确保了极高的性能。

(因为redis是单进程的,所以只能在一个时刻做一个操作,假如用户此时有操作,会等待持久化结束后才可以。)

1.1 这个持久化文件在哪里。

  1. 配置文件中dir这个参数配置持久化文件,默认是./ 生产中写死,否则每次启动redis就会在启动目录下寻找dump.rdb文件。 (导致数据还原失败。)

1.2 什么时候触发持久化。

1.2.1 shutdown时

(正常关闭redis,意外关机kill进程不可以),没有开启aof使用shutdown才

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值