栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

【Java进阶营】Redis的持久化策略

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

【Java进阶营】Redis的持久化策略

如何保证Redis宕机之后重启可以将数据进行恢复?一般需要定时进行持久化将内存中的数据写入到硬盘中。Redis支持两种不同的持久化机制:RDB持久化以及AOF持久化。

RDB持久化(全量备份)
RDB持久化是指在指定时间间隔内将内存中的数据集快照写入磁盘。实际上fork子线程,先将数据集写入临时文件,写入成功后,在替换之前的文件,用二进制压缩文件,RDB是Redis默认的持久化方式,会在对应目录下生产一个dump.rdb文件,重启会通过加载dump.rdb文件恢复数据。

RDB优点:

方便持久化:只有一个dump.rdb文件;
容灾性好:一个文件可以保存到安全的磁盘;
性能好:fork子线程来完成写操作,主线程继续处理命令;
效率高:如何数据集偏大,RDB启动效率比AOF高
RDB缺点:

数据安全性低:因为RDB是每隔一段时间进行持久化,可能会造成数据丢失。在此我向大家推荐一个架构学习交流圈。交流学习指导伪鑫:1253431195(里面有大量的面试题及答案)里面会分享一些资深架构师录制的视频录像:有Spring,MyBatis,Netty源码分析,高并发、高性能、分布式、微服务架构的原理,JVM性能优化、分布式架构等这些成为架构师必备的知识体系。还能领取免费的学习资源,目前受益良多

由于RDB是通过fork子线程协助完成数据持久化工作的,因此如果数据集较大时,可能会导致整个服务停止服务几百毫秒,甚至一分钟。

AOF持久化(增量备份)
AOF持久化是以日志的形式记录记录每一个增删操作然后追加到文件中。AOF的出现是为了弥补RDB备份的不足(数据不一致性)。

与RDB持久化相比,AOF的持久化实时性更好。

AOF的备份策略:

Redis的配置文件中存在三种不同的AOF持久化方式:

appendfsync always:每次有数据修改发生时都会同步。
appendfsync everysec:每秒同步一次
appendsync no:让操作系统决定何时进行同步。
AOF优点:

AOF实时性哈好,数据安全性更高;
AOF通过append模式写文件,即使中途服务器宕机,也可以通过redis-check-aof工具解决数据一致性问题。
AOF机制的rewrite模式(文件过大会对命令进行合并重写),可以删除其中某些命令(比如误操作的命令)
AOF缺点:

AOF文件比RDB文件大,且恢复慢;
根据同步策略的不同,AOF在运行效率上往往会慢于RDB。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/852237.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号