Redis主从复制演示
一、什么是Redis主从复制
简而言之就是开启多个redis服务,其中有一个是主服务,其余是从服务。主服务复制读,从服务负责读。当主服务中数据改变时,要通知从服务器做相应的数据更新。
二、过程
1.复制多份配置文件,可以通过include关键字引入原来的配置文件,然后在新的配置文件中将要更改的配置重写。一定要注意的是端口号不同。
下面是新建的配置文件6379,6380,6381都对应的是各个服务占用的端口号。
其中一个配置文件如下
第一行:引入通用的原始配置
第二行:设置pidfile目录(存放pid文件的位置,每个实例会产生一个不同的pid文件)
第三行:当前服务占用的端口
第四行:持久化rdb文件的名称(只是名称,存放的目录在原始配置文件中配置)
下面是原配置文件中配置的持久化目录
2.开启服务
开启三个终端,在你存放配置文件的目录里面,分别输入指令:
redis-server redis6379.conf
redis-server redis6380.conf
redis-server redis6381.conf
在通过查看进程命令查看,如下,成功开启三个redis服务。
但是三个服务之间,此时并没有主从关系,可以通过info replication命令查看当前redis服务详情信息
可以看到从服务为0,角色都是主
3.设置主从关系
在需要成为从服务器的终端输入下面的命令
在从服务器输入上面的命令(填写ip和端口),再回到6379的redis服务查看
可以发现此时有了主从关系,并且将从服务器的详细信息都显示了
三、主从复制演示
1.主服务器能写能读,每次写的操作都会同步给从服务器;
2.从服务器只能读,没有写的权限;
四、深入问题
RQ1 :中途加入的从机会自动同步主服务器的所有内容;
RQ2 :不能写;
RQ3 :原地待命;
RQ4 :能;
RQ5 :从机宕机后,主机中没有宕机的从机的相关信息;从机重新上线后需要重新与主机建立主从关系,然后会自动同 步主机数据