课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
技术借鉴能够让不同的编程语言有更进一步发展的机会,而今天我们就通过案例分析来了解一下,Redis数据持久化机制优缺点对比。
Redis支持RDB和AOF两种持久化机制,持久化功能有效地避免因进程退出造成的数据丢失问题,当下次重启时利用之前持久化的文件即可实现数据恢复,理解掌握持久化机制对于Redis运维非常重要。
一、RDB
优点
代表Redis在某个时间点上的数据快照。非常适用于备份,全量复制等场景。比如每6小时执行bgsave备份,并把RDB文件拷贝到远程机器或者文件系统中(如hdfs),用于灾难恢复(对数据完整性和一致性要求不高)
RDB是二进制保存,Redis加载RDB恢复数据远远快于AOF的方式(适合大规模的数据恢复)
缺点
RDB方式没办法做到实时持久化/秒级持久化。因为bgsave每次运行都要执行fork操作创建子进程,属于重量级操作(内存中的数据被克隆了一份,大致2倍的膨胀性需要考虑),频繁执行成本过高(影响性能)
RDB文件使用特定二进制格式保存,Redis版本演进过程中有多个格式的RDB版本,存在老版本Redis服务无法兼容新版RDB格式的问题(版本不兼容)
在一定间隔时间做一次备份,所以如果redis意外down掉的话,就会丢失后一次快照后的所有修改。
二、AOF
优点
每一次修改都同步,文件完整性更高。
可以根据具体业务,选择同步的参数,可以兼顾性能和同步的实时性。每一秒同步一次,可只会丢失1秒钟的数据。
缺点
AOF文件远大于RDB文件,数据恢复速度比rdb慢。
【免责声明】本文系本网编辑部分转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与管理员联系,我们会予以更改或删除相关文章,以保证您的权益!更多内容请在707945861群中学习了解。