Redis持久化之RDB

RDB

面试和工作,持久化都是重点!
Redis是内存数据库,如果不将内存中的数据库状态保存到磁盘,那么一旦服务器进程退出,服务器中的数据库状态也会消失。所以Redis提供了持久化功能。

RDB(Redis DataBase)

什么是RDB

指定的时间间隔内将内存中的数据集快照写入磁盘,也就是行话讲的Snapshot快照,它恢复时是将快照文件直接读到内存中。
Redis会单独创建(fork)一个子进程来进行持久化,先将数据写入一个临时文件中,到持久化过程都结束后了再用这个临时文件替换上次持久化好的文件,整个过程中主进程时不进行任何IO操作的,这样确保了极高的性能。如果需要进行大规模回复,且对于数据恢复的完整性不是非常敏感,那RDB方式要比AOF方式更加高效,RDB的缺点是最后一次持久化后的数据可能丢失,我们默认的是RDB,一般情况下不需要修改这个配置。

请添加图片描述
RDB保存的文件是dump.rdb,在配置文件中有规定!
在这里插入图片描述

将usr/local/bin下的dump.rdb文件删除,然后自定义一个触发RDB的机制,测试,发现dump.rdb文件重新被创建。
在这里插入图片描述

RDB的触发机制

1.save的规则满足的情况下,会自动触发rdb规则!
2.执行flushAll命令,也会触发rdb规则!
3. 退出redis,也会产生rdb文件!

如何恢复RDB文件

请添加图片描述
优点:
1.适合大规模数据恢复!
2.对数据的完整性要求不高!
缺点:
1.需要一定时间间隔进行进程操作!如果reids意外宕机了,这个最后一次修改的数据就没有了!
2.fork进程的时候,会占用一定的内存空间!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值