一、主从设置

主服务器配置 0.0.0.0 port 6379

从服务器配置  0.0.0.0 port 6380

三种方式设置主从

1、通过配置设置从服务器

从服务器设置 slaveof 127.0.0.1 6379 指向主服务器

2、通过参数

从服务器启动时添加参数 redis-server --slaveof 127.0.0.1 6379

3、通过redis-cli

通过redis-cli登录到从服务器 redis-cli -h 127.0.0.1 -p 6380

通过命令 slaveof 127.0.0.1 6379 设置当前服务器为从服务器

二、主从同步

通过redis-cli登录到从服务器,通过命令 info replication查看主从状态

通过psync命令来同步数据(全量复制 full resync 、增量复制 full resync)

主从刚刚连接的时候,进行全量同步;全同步结束后,进行增量同步。当然,如果有需要,slave 在任何时候都可以发起全量同步。redis 策略是,无论如何,首先会尝试进行增量同步,如不成功,要求从机进行全量同步。

redis一个服务器装了主节点和一个哨兵 怎么用redismanage连接数据节点 服务器redis主从配置_服务器

三、主从切换

从服务器 输入命令 slaveof no one 提升为主服务器

其他从服务器再将自己的master设置为 新的主服务器

四、主从拓扑

针对读多写少的而业务场景,设置写->主redis,读->从redis可以有效降低主服务器压力

redis一个服务器装了主节点和一个哨兵 怎么用redismanage连接数据节点 服务器redis主从配置_服务器_02

但是如果多个Slave断线了,需要重启的时候,因为只要Slave启动,就会发送sync请求和主机全量同步,当多个同时出现的时候,可能会导致Master IO剧增宕机,可以组成如下的树状拓扑,主服务器同步到第一个slave,再通过这个slave来同步到其他slave上,进一步减少master压力。

redis一个服务器装了主节点和一个哨兵 怎么用redismanage连接数据节点 服务器redis主从配置_redis_03

ps:

安全性 : requirepass 密码验证 auth校检,配置 masterauth参数

vim redis.conf

在主上添加 requirepass 123.com  登录时用auth+密码验证

在从上 添加 masterauth 123.com   声明 主上的密码

只读 :  slave-read-only yes 改成no    从节点修改,可能会造成数据没有统一性

传输延迟 :

再主上设置 repl-disable-tcp-nodelay  控制是否关闭 tcp-nodelay

  关闭 ,主节点产生的命令数据不管大小都会及时发送给从节点,主从延迟会减小,增加了网络带宽消耗,在主从同机房,同机架、上部署。

开启 :主节点会合并比较小的tcp 数据包发送给从,节省带宽,一般40毫秒发送一次,一般在跨机房部署时使用。