redis主从复制详解

redis主从复制实现

方式一、新增一个配置文件端口6380,加入 slaveof 192.168.31.69 6379, 在6379启动完后再启6380,完成配置;
方式二、新增一个配置文件端口6380,redis-server --slaveof 192.168.31.69 6379

需要注意的几点:
配置文件里面的 bind 本来是127.0.0.1 需要修改为服务器ip
在这里插入图片描述
用redis-cli启动的时候 要加上2>/dev/null,不然会提示在命令行使用密码不安全,然后redis的状态是broke。

redis-cli -h 192.168.31.69 -p 6379 -a 12345678 2>/dev/null

需要先启动master。然后启动slave。

启动后能看到控制台的信息。

在这里插入图片描述

能看到是连接到master的,采用了AOF做备份的。

还可以看一下节点信息。命令 info replication

192.168.31.69:6380> info replication
# Replication
role:slave
master_host:192.168.31.69
master_port:6379
master_link_status:up
master_last_io_seconds_ago:9
master_sync_in_progress:0
slave_repl_offset:616
slave_priority:100
slave_read_only:1
connected_slaves:0
master_replid:7db3966a3657159d41abe530590854dda22374b4
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:616
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:1
repl_backlog_histlen:616
192.168.31.69:6380> 

问题

主从一般都不是在一台机器上,复制会存在网络延迟。

传输延迟:主从一般部署在不同机器上,复制时存在网络延时问题,redis提供repl-disable-tcp-nodelay参数决定是否关闭TCP_NODELAY,默认为关闭

参数关闭时:
无论大小都会及时发布到从节点,占带宽,适用于主从网络好的场景

参数启用时:
主节点合并所有数据成TCP包节省带宽,默认为40毫秒发一次,取决于内核,主从的同步延迟40毫秒,适用于网络环境复杂或带宽紧张,如跨机房

主从有长连接心跳,主节点默认每10S向从节点发ping命令,repl-ping-slave-period控制发送频率。

主从复制用的不多,因为若是主节点出现问题,需要人为的修改配置。将从变主。很麻烦。所以redis提供了哨兵的机制。

传送门:redis的哨兵机制

发布了41 篇原创文章 · 获赞 9 · 访问量 2473

猜你喜欢

转载自blog.csdn.net/weiwei_six/article/details/103981066