Redis 内存容量增加后,会带来什么问题?
PassJava (佳必过) 项目全套学习教程连载中,关注公众号悟空聊架构第一时间获取。
文档在线地址: www.passjava.cn
Redis 内存容量增加后,会带来什么问题?
Redis 使用内存保存数据,内存容量增加后,就会带来两方面的潜在问题,分别是:
- 内存快照 RDB 生成和恢复效率低。
- 主从节点全量同步时长增加、缓冲区易溢出。
内存快照 RDB 受到的影响
内存大小和内存快照 RDB 的关系是非常直接的:实例内存容量大,RDB 文件也会相应增大,那么,RDB 文件生成时的 fork 时长就会增加,这就会导致 Redis 实例阻塞。而且,RDB 文件增大后,使用 RDB 进行恢复的时长也会增加,会导致 Redis 较长时间无法对外提供服务。
主从同步受到的影响
主从节点间的同步的第一步就是要做全量同步。全量同步是主节点生成 RDB 文件,并传给从节点,从节点再进行加载。试想一下,如果 RDB 文件很大,肯定会导致全量同步的时长增加,效率不高,而且还可能会导致复制缓冲区溢出。一旦缓冲区溢出了,主从节点间就会又开始全量同步,影响业务应用的正常使用。如果我们增加复制缓冲区的容量,这又会消耗宝贵的内存资源。
作者简介:悟空,8年一线互联网开发和架构经验,用故事讲解分布式、架构设计、Java 核心技术。《JVM性能优化实战》专栏作者,开源了《Spring Cloud 实战 PassJava》项目,公众号:
悟空聊架构。
悟空的开源项目
https:///Jackson0714/PassJava-Platform
















