《redis in action》redis复制

写点笔记

共 741字,需浏览 2分钟

 ·

2021-04-13 05:21

在redis中提供了复制的功能,注意这里的复制是为了保证数据夸机器存在的特性,也就是一台redis被核弹炸了,咋还有一台,而且这台redis中的数据就是通过从被炸的那台上过来的。既然有这样特性,那么如何配置呐?很简单
slaveof host port   #host为要复制的redis服务器ip,port为redis的端口号
上述配置的意思就是说我这台redis启动的时候要通过host:port去连接另一台redis,并将它的数据拿过来存储到我这里。当然如果我们不想从那个节点拿取数据,则可以配置:
slaveof no one
在上次文章中我们说当从节点连接到主节点的时候,会触发主节点进行bgsave的行为。那么当redis进行复制的时候,主从节点的状态是怎么样的?我们看一下图:
大概得过程如上图所示,考虑到复制的网络带宽和网速不够快,或者主节点没有足够的内存去拷贝或者缓存新的待执行的命令。一般经验得出应该用50%-65%的系统内存给redis用,剩余的30%-45%用来给复制和新命令进行缓存。
这块要注意的两点是,当从节点第一次连接到主节点的时候,从节点中的数据就会被主节点的数据替代。Redis不支持主主复制。
当我们的redis对接的是多个从节点的时候,我们的主节点处理变化如下:
当进行快照复制的时候会将快照发送给连接的多个从节点,然后完成上述动作,当有新的连接建立的时候又将上述的5个步骤执行一遍。

下班了,听个音乐放松一下吧!


浏览 15
点赞
评论
收藏
分享

手机扫一扫分享

举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

举报