redis复制

redis复制

1.定义

就是主从复制,读写分离。以主表master写为主,副表slave读为主
当master数据变更时,会将数据同步到副表slaves中去

2.作用

1.读写分离
2.容灾恢复
3.数据备份
4.水平扩容支持高并发

3.基本操作指令

1.配置从库slave表去连接主库
2.如果主表配置由requirepass参数,则需要进行密码登录,届时slave表需要配置masterauth进行设置登录密码,否则master会拒接slave的连接
3. 基本操作指令
1).info replication:可以进行查询主从关系以及配置信息
2).replicaof 主库IP端口,在redis.conf中进行写入
3).slave 主库IP端口:每次进行与主数据库的断开,都需要进行重新连接,届时更改端口后,slave数据库会重新与新的数据库进行连接。
4).slave no one 使当前数据库停止进行与其他数据库的同步,转为主数据库

4.配置步骤

编辑redis.conf文件
1.开启daemonize yes
在这里插入图片描述
2.注释掉bind
在这里插入图片描述
3.关闭 protected-mode no
在这里插入图片描述
4.指定端口
在这里插入图片描述
5.指定当前的工作目录
在这里插入图片描述

6.更改pid文件名称
在这里插入图片描述
7.更改日志文件名称
在这里插入图片描述
8.添加密码
在这里插入图片描述
9.更改dump.rdb名称
在这里插入图片描述
10 添加aof
在这里插入图片描述
11.从机slaver访问主机maser配置,只从机配置
在这里插入图片描述

5.访问步骤 主 -> 从

主机按照往常启动
从机:需要指定端口,不指定则默认6379,但是咱已经更改了端口信息,会导致启动异常
redis-server /myredis/redis6381.conf
redis-cli -a admin -p 6381
在这里插入图片描述
如图则从机连接主机成功
info replication:可以查询当前主库下面的小弟信息
在这里插入图片描述

手动指令:命令仅当次有效
配置文件 :持久稳定

主从问题注意

  1. 从机不能写命令,即使是当前slave是下一个slave的master也不行,当前slave本质还是slave
  2. 从机写入方式是,首次是全部写入,后续跟随master写入
  3. 主机down掉了,从机还是不变,但是从机的数据还是可以正常使用
  4. 主机重新启动后,原来的主从关系还是存在的
6.slave下面加上slave

上一个slave是下一个slave的master,slave同样可以接受到其他slaves的连接和同步请求,那么该slave等于链条中下一个master,可以有效减少master的压力
但是,中途转向变更,会清除之前的数据,重新拷贝新的连接
变更方式:slaveof 新主机IP 新主机端口

7.redis复制小结
  1. slave启动,清空数据
    slave成功启动后会想master发送一个syn命令。并且slave连接新的master后,本机原来的数据会被新的master给覆盖掉
  2. 首次进行连接,全量复制
    master节点收到slave的syn命令后,会在后台进行保存快照(即rdb持久化),同时收集所有接收到的所有写操作的命令进行缓存,master在rbd持久化完成后,将快照文件和已经缓存完成的aof写操作文件同步加载到slave中去,从而实现复制
  3. 心跳持续,保持通讯
    在redis.conf文件的reol-ping-replica-period 10
  4. 进入平稳
    mater会将数据自动传给slave,进行完成同步
  5. 从机下线,重连续传
    master会进行检查backlog里面的offset标记位,因为master和slave都会保存一个标记位置,master指挥将已经复制的offset后面的护具复制给slave。类似于断点续传
    6. 缺点
    多个slave时,会导致信号减弱,复制延时
    当master挂断时,slave不会自动升级为master。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值