Redis持久化机制|RDB的触发时机|RDB相关配置|RDB安全考虑|AOF数据存储格式|AOF重写机制

   日期:2020-05-06     浏览:134    评论:0    
核心提示:持久化Redis工作时数据都存储在内存中,万一服务器断电,则所有数据都会丢失。针对这种情况,Redi数据库

持久化

Redis工作时数据都存储在内存中,万一服务器断电,则所有数据都会丢失。针对这种情况,Redis采用持久化机制来增强数据安全性。

RDB机制

每隔一定的时间把内存中的数据作为一个快照保存到硬盘上的文件中。Redis默认开启RDB机制。

RDB触发

  1. 默认配置,
    由于安全性和性能考虑,默认配置了分别以下三个参数
save 900 1 -> 900秒内至少有一次修改则触发保存操作
save 300 10	-> 300秒内至少有10次修改则触发保存操作
save 60 10000 -> 60秒内至少有1万次修改则触发保存操作

// 压力测试:测试是否触发参数保存
/usr/local/redis/bin/redis-benchmark

  1. 使用命令保存
save -> 同步:前台保存,
bgsave -> 异步:开另一个线程后台保存

  1. 使用flushall命令:这个命令也会产生dump.rdb文件,但里面是空的,没有意义
  1. 服务器关闭: 如果执行SHUTDOWN命令让Redis正常退出,那么此前Redis就会执行一次持久化保存。

RDB相关配置

RDB数据安全考虑

  1. RDB保存机制为断续性,能够提高安全性,但不是绝对的安全

  2. 非绝对安全性:在使用持久化机制后如果真的发生内存断电,上一次保存的数据不会丢失,从上一次保存后到故障时间点之间的数据会丢失,这部分数据在整个数据中占比非常低,说明持久化机制并不是提供绝对安全的解决方案,而是大幅度提高安全性。

  3. 丢失的数据重要性:如果真的有那样绝对不能丢失的数据,例如:金融项目中账目数据,这样的数据也肯定不会仅仅在Redis中存储一份,由此可以推论,Redis中的存储的数据无非是两种情况:
    1)在MySQL中有备份
    2)不重要,丢了没事

  4. 内存断电风险:例如服务器断电,需要接UPS(不间断电源),使服务器不会因为断电失去工作

AOF默认配置

RDB和AOF并存时,以AOF为主

AOF数据存储格式

AOF重写机制

持久化文件损坏修复

AOF和RDB对比

RDB:


AOF:

并存:

建议:

 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服