redis主从配置的疑问?

我现在已经有一个redis server了,现在想要重新增加一台服务器,搭建一个redis server,作为之前的redis的slave。在配置slaveof之后,发现slave的redis数据已经从主redis中获取来了,请问他后台是用的什么方式获取的。会不会阻塞我的主redis啊。

参与9

2同行回答

gnuhpcgnuhpc  数据库架构师 , 中国民生银行
当从实例第一次与主实例连接时会发生什么呢?从实例在网络连接中断后会重新连接到主实例么?在Redis的复制机制中,共有两种重新同步机制:部分重新同步和完全新重同步。当一个Redis的从实例启动并连接到主实例时,从实例总是会尝试通过发送(master_replid; master_repl_offset)请...显示全部

当从实例第一次与主实例连接时会发生什么呢?从实例在网络连接中断后会重新连接到主实例么?在Redis的复制机制中,共有两种重新同步机制:部分重新同步和完全新重同步。当一个Redis的从实例启动并连接到主实例时,从实例总是会尝试通过发送(master_replid; master_repl_offset)请求进行部分重新同步。其中,(master_replid; master_repl_offset)表示与主实例同步的最后一个快照。如果主实例接受部分重新同步的请求,那么它会从从实例停止时的最后一个偏移处开始增量地进行命令同步。否则,则需要进行完全重新同步。当从实例第一次连接到它的主实例时,总是需要进行完全重新同步。我们将在后续复制机制的调优案例中对有关主实例如何决定是否接受部分重新同步请求的细节进行讨论。在进行完全重新同步时,为了将所有的数据复制到从实例中,主实例需要将数据转储到一个RDB文件中,然后将这个文件发送给从实例。从实例接收到RDB文件后,会先将内存中的所有数据清除,再将RDB文件中的数据导入。主实例上的复制过程是完全异步的,因此并不会阻塞服务器处理客户端的请求。

显然,与完全重新同步相比,部分重同步不需要从主实例中传输完整的数据转储文件。另外,将数据转储到RDB文件中会创建一个后台进程,还会有内存开销

如上是节选至我的新书,可以关注下,谢谢!
https://item.jd.com/12364212.html

收起
银行 · 2018-05-18
浏览1760
wangzk0206wangzk0206  数据库管理员 , scrcu
谢谢您的详细讲解!!!显示全部

谢谢您的详细讲解!!!

收起
银行 · 2018-05-18
浏览1718

提问者

wangzk0206
数据库管理员scrcu

相关问题

相关资料

相关文章

问题状态

  • 发布时间:2018-05-18
  • 关注会员:2 人
  • 问题浏览:2337
  • 最近回答:2018-05-18
  • X社区推广