redis的持久化 RDB 1

一、.什么是RDB:

RDB(redis data base) redis的持久化操作,将内存中的数据存入到磁盘中。

相关配置在配置文件中的SNAPSHOTTING中修改。

 

二、.什么时候会触发RDB

1.只要redis触发了配置中的对key进行了以下几种操作就会将内存中的数据存入磁盘中,可以修改。

2.如果执行了flashiALL等删除key的操作或者是shotdown关闭redis时,redis也会在关闭之前进行一次持久化操作。

3.使用命令sava:使用这个命令后redis只会进行数据的保存,其他操作全部阻塞,直到保存完成

4.使用命令bgsave:这个会异步的进行快照操作(内存数据的保存),可以在保存的同时响应客户端的请求。

备份的数据默认保存在dump.rdb文件中

 

三、.RDB配置相关信息:

sava 秒钟 写操作次数:当满足这个条件事,redis就会进行一次rdb操作,如果想禁用rdb操作,在sava中传入空字符串

stop-warite-on-bgsava-error:当后台保存出错时,停止写入数据到磁盘中,默认为yes

rdbcompression:对于保存到磁盘中的快照可以用这个属性设置为是否进行压缩存储,那么redis就会使用LZF算法进行压缩,但是也会额外消耗CPU的性能,节省的空间与CPU的性能相比,我认为CPU更为重要,建议关闭

rdbchecksum:在存储快照后,可以设置这个属性让redis使用CRC64算法对数据进行检验,可以提高安全性,但是会额外消耗10%的性能。

dbfilename:redis持久化的数据文件名。

dir:显示在哪个路径启动的redis服务

 

四、如何恢复数据到内存中

在备份的文件dump.rdb移动到redis的安装目录下,启动redis服务即可

 

五、RDB的优点和劣势

优点:适合大规模的数据恢复、对数据完整性和一致性要求不高(两分钟就保存一次,各种操作容易触发)

劣势:1.在一定时间间隔内做一次触发,如果redis进程出现意外时,最后一次的快照就会丢失。

2.redis在进行RDB时会fork一个当前的进程,内存中的数据变大了两倍,内存空间的消耗需要考虑

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值