今天继续给大家介绍Redis相关知识,本文主要内容是Redis的主从同步原理与配置。

一、Redis主从同步原理

Redis数据库支持类似MySQL数据库方式的主从同步,利用Redis主从同步,可以实现Redis的读写分离,以实现Redis的集群配置,缓解单台Redis服务器的压力。

(一)Redis主从同步工作过程

Redis在启动主从同步功能后,主库会基于ping check的方式来检验Redis从库是否在线,如果在线则将数据文件发送给从库,从库也可以主动发送同步请求到主库。如果Redis主库开启了持久化功能,那么当进行主从同步工作时,向从库进行同步的数据依旧是内存中的数据而不是同步到磁盘中的数据。但是,Redis主库当进行主从同步时,会将内存中的数据进行快照,然后把该数据文件发送给从库,重录会先将该数据文件存储在本地磁盘中,然后再将该文件装载到磁盘中。在Redis主库对内存中数据进行快照时,会启动一个新的进程来进行这一步操作。

(二)Redis主从同步特点

Redis的主从同步有以下特点:
1、一个Redis主库可以有多个Redis从库
2、支持链式同步,即一个Redis既是一台Redis主库的从库,同时还是另一台Redis重录的主库。
3、Redis主库在进行同步时,采用非阻塞的方式进行同步,一个Redis主库可以同时响应多个Redis从库的同步请求。

二、Redis主从同步实现

下面,我就来进行Redis主从同步的配置实战,在本实战中,Redis主库为192.168.136.11,Redis从库为192.168.136.12。

(一)命令配置实现

Redis实现主从同步可以有两种方式,如果是采用配置命令的方式,则可以在登录Redis从库后,执行命令:

slaveof 【Redis主库IP】 【Redis主库端口】

这样,Redis主从同步就配置成功了,配置成功后,在Redis主库上查看信息,发现结果如下:

在Redis从库上查看信息,发现结果如下:

另外,在Redis主库上插入数据,发现在Redis从库上该数据也被同步过去,可以判定Redis主从同步配置成功!

(二)配置文件实现

另外,我们除了可以使用配置命令的方式实现Redis主从同步之外,还可以采用将主从同步信息写入配置文件中,然后实现Redis主从同步功能。
打开Redis从库的配置文件,搜索slaveof参数,结果如下:

可以看出,该参数在默认情况下是被注释掉的,我们去掉其注释,按照Redis命令配置的方式配置Redis主库的IP和端口号,这样,也可以实现Redis的主从同步功能了。

(三)Redis主从同步参数

最后,我么再介绍一下其他的与Redis主从同步有关的参数:
1、slave-serve-stale-data
在Redis主从同步中,当Redis从服务器发现Redis主服务器不可用时,无法判断自己的数据是否已经过期,如果此时Redis从服务器收到读的请求,则可以会响应过期的数据。如果此参数为yes,则表示Redis从服务器仍然会以可能过期的数据进行响应,但是如果此参数为no,则表示Redis从服务器不会响应读请求。
2、slave-read-only
当此参数为yes时,则此Redis服务器将只会响应读请求,该参数默认关闭,在Redis从库上回默认开启。
3、repl-diskless-sync
该参数表示是否开去无磁盘交互模式,默认为no,即不开启,也可以手动更改为yes,表示开启。所谓无磁盘交互模式,就是指Redis主和Redis从在进行主从同步时,Redis主同步给Redis从的数据文件不会被写入磁盘中,Redis从服务器会直接将该数据文件读取处理后放入内存,而如果该参数不开启,则Redis从库会将数据文件放入磁盘中,然后再读入内存。
4、repl-diskless-sync-delay
该参数表示在进行无磁盘交互模式下Redis从库的延迟时间,该参数默认单位为秒,默认为5.
5、slave-priority
该参数指定Redis从库的优先级,通常用于主从同步结合Redis sentinel进行高可用配置时使用,该优先级数值越小,表示优先级越高,在默认情况下,该参数值为100.
6、min-slaves-to-write
该参数表示在Redis主从同步过程中,一个Redis主库所对应的最少的从库数量,当少于该参数指定的数量时,Redis主库将拒绝从库读取数据的请求。该参数在默认情况下处于关闭状态。
7、min-slaves-max-lag
表示Redis主库与Redis从库之间的最大时差,当时差超过该值时,就无法进行主从同步。该参数在默认情况下处于关闭状态。
原创不易,转载请说明出处:https://blog.csdn/weixin_40228200

更多推荐

Redis详解(六)——Redis主从同步原理与配置