Redis的RDB持久化

目录

一、RDB介绍

二、RDB在redis.config的默认配置

三、RDB持久化触发策略

1.手动触发

1.自动触发

三、数据恢复

四、RDB优势

五、RDB劣势


一、RDB介绍

Redis是基于内存存储的NOSQL,一旦发生了断电或者宕机,那么内存条的数据将全部丢失。为此出现了RDB快照模式。它用来给redis的内存数据进行保存到硬盘上,从而实现数据的持久化。

RDB会每隔一定时间内都会检测当前数据的变化次数和改变频率,如果它满足redis.config配置文件的规定,那么主线程会新建出一个子线程会将内存的数据保存到硬盘上。


二、RDB在redis.config的默认配置

################################ SNAPSHOTTING  ################################

save 900 1                        #在900秒内,有一条数据就自动保存。
save 300 10                       #在300秒内,有十条数据就自动保存。
save 60 10000                     #在60秒内,有一万条数据就自动保存。

stop-writes-on-bgsave-error yes   #数据保存到rdb文件失败后,默认进行继续工作

rdbcompression yes                #数据保存到rdb文件后,默认进行文件压缩,此功能需要cpu加持

rdbchecksum yes                   #数据保存到rdb文件后,默认要进行错误校验

dbfilename dump.rdb               #rdb默认保存在硬盘的文件叫dump.rdp

dir ./                            #rdb文件默认存放在当前路径

三、RDB持久化触发策略

RDB的持久化触发策略有两种:1、手动触发。2、自动触发

1.手动触发

执行save命令,堵塞redis线程,将内存数据保存到硬盘前,不处理其他命令操作。

执行bgsave命令,通过异步进行内存数据保存到硬盘中,在此期间可以进行其他命令操作。

执行flushall命令,清空整个redis数据,并生成空的dump文件。

执行shutdown命令,将内存数据保存到硬盘中,并退出redis服务。

1.自动触发

通过redis.conf配置文件中的save命令,来对redis数据进行自动持久化操作。当触发redis.config里的save时,redis会采用异步的方式进行内存数据保存在硬盘上。

################################ SNAPSHOTTING  ################################

save 900 1                        #在900秒内,有一条数据就自动保存。
save 300 10                       #在300秒内,有十条数据就自动保存。
save 60 10000                     #在60秒内,有一万条数据就自动保存。

三、数据恢复

redis会自动读取redis.conf配置文件中的指定路径指定文件名的备份文件。

################################ SNAPSHOTTING  ################################

dbfilename dump.rdb               #rdb默认保存在硬盘的文件叫dump.rdp
dir ./                            #rdb文件默认存放在当前路径

四、RDB优势

在大规模数据恢复快速

在服务器出现宕机或断电的时候,能保留下上一次备份的rdb文件

与AOF相比,RDB恢复数据会快速很多


五、RDB劣势

在最后一次数据持久化的时候,如果发生宕机或者断电,很有可能会出现数据丢失。

子线程机进行redis内存数据保存到硬盘时,会消耗cup资源和时间。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值