Redis复制与哨兵Redis Sentinel

2019-06-01  数据库         公开-普

节点复制

主节点(master)-->从节点(slave)复制的数据流是单向的。

建立复制

  1. 配置文件中加入slaveof {masterHost} {masterPort}
  2. redis-server启动命令后加入。--slaveof {masterHost} {masterPort}
  3. 直接通过命令建立复制,通过该命令也可以切换主节点。slaveof {masterHost} {masterPort}

可以通过info replication查看复制状态。只用在从节点中配置。建立复制后,会清空从节点之前所有数据。

断开复制

slaveof no one断开复制后不会抛弃已复制的数据,只是无法获取主节点的更新。

密码验证

主节点设置requirepass参数进行密码验证,从节点通过设置masterauth参数设置密码。

设置只读

从节点通过slave-read-only=yes配置只读,由于从节点修改不会同步到主节点,这样就会造成数据不一致。

传输延迟

repl-disable-tcp-nodelay控制是否关闭TCP_NODELAY

  1. 关闭时,主节点的更新会及时同步到从节点
  2. 开启时,主节点会合并较小TCP数据包,按Linux内核的时间大约40ms同步从节点。

数据同步的方法

分为全量复制和部分复制,主从节点在建立复制后,维护着长连接并彼此发送心跳命令。

哨兵

Redis主从复制模式下,主节点由于故障不能提供服务,需要将从节点改为主节点。可以通过Redis Sentinel(哨兵)架构解决该问题。

 
评论列表

Redis Sentinel节点的部署与API

    2019-06-01    

Redis Sentinel客户端连接

    2019-06-01    

通过jedis作为redis的Java客户端
文章内容的h2标题锚点:
节点复制
哨兵
评论列表
Redis Sentinel节点的部署与API
Redis Sentinel客户端连接