Redis-13、持久化之RDB

什么是RDB

RDB:Redis DataBase

简单的说,就是在指定的时间间隔内将内存中的所有数据以快照的方式写入磁盘(Snapshot快照),恢复时将快照文件读到内存

Redis会单独创建(fork)一个子进程来进行持久化,会先将数据写入到一个临时文件,等待本次持久化过程结束之后,再用这个临时持久化文件替换掉上次持久化好的文件。整个过程中,主进程不进行任何的IO操作,确保了极高的安全性。

如果需要进行大规模的数据恢复,并且数据恢复的完整性不是非常敏感,那么RDB的方式要比AOF高效的多。

Redis默认的持久化就是RDB,保存的文件是dump.rdb,一般情况下我们不需要修改这个配置。

优点:适合对大规模的数据进行恢复,效率较高

缺点:可能会丢失最后一次持久化后的数据。

image-20210907174400464

RDB配置

配置文件中有关『SNAPSHOTTING』的部分既RDB配置规则,具体配置的含义请参考 Redis-12、配置文件详解 中的『3.快照相关』部分

RDB触发规则

  1. 满足save规则,会自动触发rdb规则
  2. 执行flushall命令,会自动触发rdb规则
  3. 正常退出Redis,会自动触发rdb规则

触发rdb规则,会自动生成一个dump.rdb文件

恢复RDB文件

在Redis启动目录中如果存在rdb文件,在自动的时候会自动检查dump.rdb恢复其中的数据,程序员几乎不需要做任何的修改,默认配置就够用了

查看需要存在的位置:

127.0.0.1:6379> config get dir
1) "dir"
2) "/Users/sunlibin/TechKit/redis-5.0.4/bin"

在生产环境,我们一般会进行dump.rdb的备份

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值