美文网首页
Redis(三)-- 主从同步

Redis(三)-- 主从同步

作者: 码咖 | 来源:发表于2019-07-18 09:30 被阅读0次

一、主从同步的工作原理

redis主从复制过程: 当配置好slave后,slave与master建立连接,然后发送sync命令。无论是第一次连接还是重新连接,master都会启动一个后台进程,将 数据库快照保存到文件中,同时master主进程会开始收集新的写命令并缓存。后台进程完成写文件后,master就发送文件给slave,slave将 文件保存到硬盘上,再加载到内存中,接着master就会把缓存的命令转发给slave,后续master将收到的写命令发送给slave。如果master同时收到多个slave发来的同步连接命令,master只会启动一个进程来写数据库镜像,然后发送给所有的slave。master同步数据时是非阻塞式的,可以接收用户的读写请求。然而在slave端是阻塞模式的,slave在同步master数据时,并不能够响应客户端的查询。

可以在master禁用数据持久化,只需要注释掉master 配置文件中的所有save配置,然后只在slave上配置数据持久化。

如果Master和Slave之间的链接出现断连现象,Slave可以自动重连Master,但是在连接成功之后,一次完全同步将被自动执行。

img
  • slave连接到master
  • slave发送SYNC命令
  • master服务器备份数据库到.rdb文件
  • master服务器把.rdb文件传输给slave服务器
  • slave服务器把.rdb文件数据导入到数据库

上面的这5步是同步的第一阶段,接下来在master服务器上调用每个命令都在使用replicationFeedSlaves()来同步到slave服务器。

二、配置主从同步

1.新建文件夹master-slave,在master-slave中新建master和slave,将redis.conf到master和slave文件夹中。

2.修改master和slave的配置文件:端口号、进程文件和日志文件的位置。

3.修改slave的配置文件:

slaveof <masterip> <masterport>    # 指定master的ip和port
masterauth <master-password>       # master有验证的情况下
slave-read-only yes                # 设置slave为只读模式,默认的

4.分别进入到master和slave文件夹,启动 redis服务:redis-server redis.conf

5.客户端连接

  1. 连接master:redis-cli -h 192.168.99.207 -p 6379

查看master的信息,输入 info,看到角色是master

img
  1. 连接slave:redis-cli -h 192.168.99.207 -p 6380

查看slave的信息,输入info,看到的角色是slave,且

  • master_link_status:up
  • master_repl_offset 和 slave_repl_offset相等
  • master_last_io_seconds_ago 在 10 秒内,则说明配置成功
img

6.测试

  1. 在master中添加数据:set name xbq

  2. 在slave中查询数据:get name,结果和在master中插入的数据一样。

  3. 测试下 在slave中添加数据:set address shenzheng,发现报错,(error) READONLY You can't write against a read only slave.

这是因为 我们设置了 slave为只读,不可以操作写。

三、主从同步的应用

1.用于对 数据的热备份

2.用于读写分离

欢迎关注我的公众号,第一时间接收文章推送~ 搜索公众号: 码咖 或者 扫描下方二维码:


qrcode_wx.jpg

相关文章

  • redis 主从同步-master端

    redis 主从同步master端处理  redis 主从同步的过程始于一系列类似tcp三次握手的过程,归于"sy...

  • Redis持久化、主从复制

    Redis持久化、主从复制 [TOC] redis持久化 RDB & AOP redis主从同步策略 一、pers...

  • redis 主从同步-slave端

    redis 主从命令  redis的主从同步始于命令SLAVEOF host port,通过这个命令能够建立主从关...

  • Redis系列之:Redis主从同步,读写分离

    1. Redis主从同步 Redis支持主从同步。数据可以从主服务器向任意数量的从服务器上同步,同步使用的是发布/...

  • Redis(三)-- 主从同步

    一、主从同步的工作原理 redis主从复制过程: 当配置好slave后,slave与master建立连接,然后发送...

  • redis缓存服务

    1.redis master-slave同步详细过程 Redis 支持主从复制分为全量同步和增量同步, 首次同步是...

  • redis 基于sentinel实现主从架构的高可用

    redis主从复制原理 1、配置redis主 2、配置redis从(多个从节点配置方法相同) 3、验证主从数据同步...

  • Redis高可用架构之主从同步

    CAP原理 最终一致性 Redis提供的同步机制 主从同步 丛丛同步 缓解master节点的压力 Redis的同步...

  • Redis 数据同步机制

    Redis的主从同步机制可以确保redis的master和slave之间的数据同步。Redis在2.8及以上版本使...

  • redis-3

    redis-3 redis高可用 redis主从同步 全量同步 步骤: 主服务器开启BG SAVE写RDB文件 主...

网友评论

      本文标题:Redis(三)-- 主从同步

      本文链接:https://www.haomeiwen.com/subject/nllklctx.html