当前位置:Gxlcms > 数据库问题 > redis之RDB快照 1.0

redis之RDB快照 1.0

时间:2021-07-01 10:21:17 帮助过:34人阅读

然后对于我们需要讨论的一点就是,以什么频率来进行rdb快照,如果频率过高的话,那么对于redis来说,每次创建子进程的过程会阻塞主线程,所以频率过高的话,也会影响redis性能。同时大量的写磁盘操作,会给磁盘带来很大压力,多个快照竞争有限的磁盘带宽,前一个快照还没有做完,后一个又开始做了,容易造成恶性循环。

在redis 4.0之后采用了aof与rdb互相使用的方式,即在第一次时使用rdb进行全量恢复,之后到下一次进行全量快照的时间,在这段期间内,对于数据库的修改,采用aof日志的形式,记录对于数据库的操作,所以如果服务器宕机,因为aof日志记录了之前的操作,虽然没有来得及更新rdb文件,但是恢复数据库时,可以结合上一次的rdb快照和aof日志进行完整恢复。所以rdb与aof的结合使用可以不用频繁进行rdb操作,同时如果服务器在下一次rdb之前宕掉了,也会通过上一次rdb与aof日志的结合进行恢复

关于 AOF 和 RDB 的选择问题,:数据不能丢失时,内存快照和 AOF 的混合使用是一个很好的选择;

如果允许分钟级别的数据丢失,可以只使用 RDB(因为每次rdb之间有是时间设定);

如果只用 AOF,优先使用 everysec 的配置选项,因为它在可靠性和性能之间取了一个平衡。

在这里还有一点需要介绍,用户可以主动设置save参数来决定bgsave,例如save 900 1 save 300 10 服务器在900秒内,对数据库至少进行1次修改,在300秒内,对数据库至少进行10次修改,两个条件任意满足一个,服务器都会执行bgsave命令。

rdb文件在磁盘上是经过压缩的

 

redis之RDB快照 1.0

标签:过程   之间   pairs   技术   记录   时间   压缩   标识   对比   

人气教程排行