Redis学习(十)---主从复制
概念
是指将一台redis服务器的数据,复制到其他redis服务器。前者称为主节点(master/leader),后者称为从节点(slave/follower)
- 数据的复制是单向的,只能从主节点到从节点
- Master一写为主,Salve以读为主
- 默认一个主节点可以有多个从节点(或者没有),但是一个从节点只能有一个主节点
为什么要使用主从复制
单机服务器的限制:
- 出现单点故障,会导致服务器不可用
- 在存在高使用的情况下,一个服务器压力大
- 容量瓶颈。redis本身是有容量限制的(256G,一般可用内存20G)
主从复制的作用:
- 数据冗余:主从复制实现了数据的热备份,是持久化之外的一种数据冗余方式。
- 故障恢复:当主节点出现问题时,可以由从节点提供服务,实现快速的故障恢复;实际上是一种服务的冗余。
- 负载均衡:在主从复制的基础上,配合读写分离,可以由主节点提供写服务,由从节点提供读服务(即写Redis数据时应用连接主节点,读Redis数据时应用连接从节点),分担服务器负载;尤其是在写少读多的场景下,通过多个从节点分担读负载,可以大大提高Redis服务器的并发量。
- 高可用基石:除了上述作用以外,主从复制还是哨兵和集群能够实施的基础,因此说主从复制是Redis高可用的基础。
命令
- info replication 获取当前服务器的信息
环境配置
只需要配置从机,不用配置主机,因为redis默认启动的服务器,就是默认的主机
因为本人没有那么多服务器,就先搭一个为集群(在一台服务器上启动三个redis服务)
-
1、最低搭建要求:一主二从。所以需要开四个窗口,其中一个用作测试
-
2、要启动三个redis服务首先要复制一下三个配置文件
(复制的文件名一端口命名,容易区分) -
3、6379端口作为主节点不用改
-
4、其他俩个分别要改动四个位置:改动主要原因:(同一个服务器内不能有相同的文件)
-
4.1 port 端口不能重复,就改为6380和6381吧!
-
4.2 pidfile进程文件:文件名后面加一个端口
-
4.3 日志文件logfile
-
rdb文件dump.rdb.
-
-
接下来启动三个redis 服务:
-
注意:所有的daemonize都必须为yes