redis主从复制之一主二从

1.介绍

一句话,就是master以写为主,slave 以读为主。
当master 有数据变化时,自动将新数据异步同步到slave数据库中

2.目的

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

3.使用

3.1简要记录

  1. 配从库,不配主库
  2. 主要命令
    2.1 info replication :可以查看主从节点的主从关系
    2.2 slaveof 主库和端口: 设为从库 改换门庭
    2.3 slave no one: 停止与其他数据库同步,设为主库,自立为王
  3. 主要配置
    replicaof 主库IP 和端口: 设为从库,主从复制

3.2 细节实现

主机配置

  1. 开启 daemonize yes.
  2. 可选 注释掉 bind 127.0.0.1
  3. protected-mode no 允许别的主机 redis-cli
  4. 指定端口
  5. 指定当前工作目录,dir
  6. pid文件名称,pidfile
  7. log文件名称,logfile
  8. requirepass
    reqeirepass 111111
    则 redis-cli 需要验证 auth 111111
  9. dump.rdb
  10. aof文件
    这一步可选:
    appendfilename “appendonly.aof”
    appenddirname “appendonlydir”

从机配置

  1. replicaof 主机IP 端口
  2. masterauth: 对应主机的 requiredpass
    从机访问主机的通行密码 masterauth,必须。

配置完后 使用命令可查看以下信息
在这里插入图片描述

4.主从复制的问题

4.1 主机可写可读,从机可写吗?

 不可以,从机只可以读取,不可以写入。

4.2 slave 从头开始复制还是从切入点开始复制?

 master 写入了 k1,k2,k3
 如果 slave1 与master 同时启动,则跟着master 写到k3
 如果 slave2 在master 写到了k3才启动,那么首次master 回创建其所有数据的快照,发送给slavel,
 然后继续发送命令流

4.3 主从复制的3大复制机制

  1. 当主服务器和副本实例连接良好时,主服务器通过向副本发送命令流来复制主服务器端对数据集的影响来保持副本的更新,发送时机是:客户端写入、密钥过期或被驱逐,任何其他更改主数据集的操作。
  2. 当主服务器和副本之间的链接断开时,由于网络问题或由于主服务器或副本中感觉到超时,副本重新连接并尝试进行部分重新同步:这意味着它将尝试获取断开连接期间错过的部分命令流。
  3. 当无法进行部分重新同步时,副本将要求完全重新同步。这将涉及一个更复杂的过程,其中主服务器需要创建其所有数据的快照,将其发送到副本,然后在数据集更改时继续发送命令流。

4.4 主机或从机异常下线的影响

     1.主机下线后,从机不会自动上位
     2.等待主机归来,主机归来后,一切照旧
     3.从集下线后,在上线,期间错过的数据依然可以同步

4.5 如果从库配置文件中没有指定主库,还有什么办法让其称为从库

	可以用slaveof host port 命令来设置(改换门庭)
	但是要注意,用手动命令 slaveof , 如果从机宕机重启后,它的主从关系将不存在。需要重新
	slave
	所以推荐写在配置文件中
	配置文件:持久稳定
	命令:本次生效
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Redis主从复制是常用的数据备份和负载均衡方案之一。在主从复制中,主节点负责写操作并将数据同步到从节点,从节点负责读操作。 要配置Redis主从复制,需要进行以下步骤: 1. 配置主节点: - 打开主节点的配置文件 `redis.conf`。 - 将 `bind` 设置为主节点的 IP 地址。 - 将 `port` 设置为主节点的端口号。 - 将 `daemonize` 设置为 `yes`,以使 Redis 以守护进程模式运行。 - 取消注释并设置 `replicaof`,指定从节点的 IP 地址和端口号。 2. 配置从节点: - 复制主节点的配置文件 `redis.conf` 到从节点,并重命名为 `redis.conf`。 - 打开从节点的配置文件 `redis.conf`。 - 将 `bind` 设置为从节点的 IP 地址。 - 将 `port` 设置为从节点的端口号。 - 将 `daemonize` 设置为 `yes`。 - 取消注释并设置 `replicaof`,指定主节点的 IP 地址和端口号。 3. 启动主从节点: - 分别启动主节点和从节点的 Redis 服务器。 4. 验证主从复制: - 使用命令 `INFO replication` 在主节点和从节点上检查复制信息。 - 在主节点上执行写操作,然后在从节点上执行读操作,验证数据同步是否正常。 对于哨兵模式,它在主从复制的基础上提供了故障转移和自动故障恢复的功能。在哨兵模式中,有一个或多个哨兵节点负责监控主节点和从节点的状态,并在主节点出现故障时自动将一个从节点升级为新的主节点。 要配置Redis的哨兵模式,需要进行以下步骤: 1. 配置哨兵节点: - 复制主节点的配置文件 `redis.conf` 到哨兵节点,并重命名为 `redis.conf`。 - 打开哨兵节点的配置文件 `redis.conf`。 - 将 `sentinel monitor` 设置为监视的主节点名称、主节点 IP 地址、主节点端口号和需要的从节点数量。 - 可以设置其他选项,如 `sentinel down-after-milliseconds`、`sentinel failover-timeout` 等。 2. 启动哨兵节点: - 启动所有哨兵节点的 Redis 服务器。 3. 验证哨兵模式: - 使用命令 `redis-cli -p <哨兵节点端口号>` 连接到哨兵节点。 - 使用命令 `SENTINEL get-master-addr-by-name <主节点名称>` 检查当前主节点的 IP 地址和端口号。 通过以上步骤,你将成功配置Redis主从复制和哨兵模式。这将提供数据备份、负载均衡和故障转移的功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值