分享

猿灯塔-Redis的主从复制

 新用户9381A9ci 2020-10-20

前置条件

在生产环境,Redis结点通常是单独部署在不同的物理机器上。想要在一台机器上模拟多节点,可以参考这篇文章同一台机器上启动多个Redis实例


Redis结点的主从复制

  • Redis实例可划分为主结点(master)和从结点(slave)

  • 一个主结点可以有多个从结点,一个从结点只能有一个主结点

  • 默认情况下,从结点只读

1.启动redis实例

这里我启动两个实例,端口分别是6379和6380


2.建立主从关系

1.指定端口连接实例

redis-cli -p 6380复制代码

2.在6380示例执行以下命令,代表6380为6379的从结点

  • 执行slaveof会先保存主结点信息,后续复制异步执行

slaveof 127.0.0.1 6379复制代码

3.可以看到6379插入的数据能在6380实例获取到

4.也可以直接在redis.conf文件中配置主从关系。具体方式是,打开从结点的conf文件,找到slaveof,格式同以上命令


3.查看复制状态信息

info replication复制代码


4.断开复制

1.在从结点执行以下命令

slaveof no one复制代码

5.只读

在配置文件中有slave-read-only配置,yes代表只读,对于从结点不建议修改这个值

6.复制过程

执行slaveof命令后,会进执行以下步骤

  • 保存主结点信息

  • 主从建立socket连接

  • 发送ping命令验证连接是否建立成功

  • 验证权限,对于设置了requirepass的主结点,从结点需要密码认证

  • 同步数据

  • 同步命令,保证数据一致性

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多