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

今天继续给大家介绍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.net/weixin_40228200

Redis主从同步是一种常用的数据复制技术,用于将一个Redis服务器的数据同步到其他从服务器上。主从同步有助于提高系统的可用性和读取性能。 下面是Redis主从同步的基本步骤: 1. 配置主服务器:打开主服务器的配置文件(redis.conf),设置`slaveof`参数为从服务器的IP地址和端口。例如:`slaveof <slave_ip> <slave_port>`。保存配置文件并重启主服务器。 2. 配置从服务器:打开从服务器的配置文件(redis.conf),设置`slaveof`参数为主服务器的IP地址和端口。例如:`slaveof <master_ip> <master_port>`。保存配置文件并重启从服务器。 3. 启动主从同步:启动主服务器和从服务器。 4. 检查主从状态:在主服务器上执行命令`INFO replication`,可以查看主从同步的状态信息。如果显示`connected_slaves`为非零值,表示有从服务器连接到主服务器。 5. 检查同步状态:在从服务器上执行命令`INFO replication`,可以查看从服务器的同步状态信息。其中的`master_link_status`字段应为`up`,表示从服务器与主服务器的连接正常。 通过以上步骤完成配置后,主服务器会将写操作记录到本地日志文件,并将这些操作发送给连接的从服务器。从服务器会接收并执行这些写操作,以保持与主服务器数据的一致性。 需要注意的是,Redis主从同步是异步的,从服务器的数据可能会有一定的延迟。另外,主从同步也可以设置密码认证、增加安全性,并且可以配置多个从服务器来实现数据的多副本备份。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

永远是少年啊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值