课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
数据持久化是提高数据可用性的重要方法之一,而今天我们就通过案例分析来了解一下,RDB策略实现数据持久化的优缺点。
RDB
在redis中生成RDB快照的方式有两种,一种是使用save,另一种是bgsave,但是底层实现上,其调用的是同一个函数,叫rdbsave,只是其调用的方式不同而已。
优点
RDB策略可以灵活配置周期,取决于你想要什么样的备份策略。例如:
每小时生成一次近24小时的数据
每天生成近一周的数据
每天生成近一个月的数据
基于这个策略,可以快速的恢复之前某个时间段的数据。
其次,RDB非常的适合做冷备份,你可以把RDB文件存储后转移到其他的存储介质上。甚至可以做到跨云存储,例如放到OSS上的同时,又放到S3上,跨云存储让数据备份更加的健壮。
而且,基于RDB模式的恢复速度比AOF更快,因为AOF是一条一条的Redis指令,RDB则是数据终的模样。数据量大的话所有AOF指令全部重放要比RDB更慢。
缺点
RDB作为一个数据持久化的方案是可行的,但是如果要通过RDB做到Redis的高可用,RDB就不那么合适了。
因为如果Redis此时还没有来得及将内存中的数据生成RDB文件,就先挂了,那么距离上次成功生成RDB文件时新增的这部分数据就会全部丢失,而且无法找回。
而且,如果内存的数据量很大的话,RDB即使是通过fork子进程来做的,但是也需要占用到机器的CPU资源,也可能会发生很多的也异常中断,也可能造成整个Redis停止响应几百毫秒。
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请在707945861群中学习了解。