Redis探索之旅(11)- Redis服务之主从架构实现

在前面的文章中,已经对Redis的基本操作进行了比较详细的说明,从这篇文章起,开始对稍微复杂一点的问题进行说明。本文,我们将对Redis主从复制进行说明,对其实现及涉及的原理进行详细的说明。

因为我已经在本机将redis注册成服务,开机自动启动了,在6379端口启动了redis服务,因此下面我们直接来看从redis如何启动?

主redis和从redis的区别,主要在于启动配置文件的不同,将从redis的相应配置文件做相应修改即可,下面是需要修改的配置项:


在上面,我们看到关于Redis REPLICATION(复制)的相关配置,需要设置slaveof(连接的主redis地址)和masterauth(如果主redis设置了连接认证密码,那么这里需要设置主redis的密码),如下所示:


修改了配置文件并保存后,就可以启动从redis了,启动效果如下所示:


从截图上可以看到,服务启动了起来,并且“Connecting to MASTER 127.0.0.1:6379”,在连接之后,主从redis进行了数据同步,并且传递了71个字节的数据。

下面我们来看看主从结构是否生效了,先往从redis上写数据,然后发现默认情况下从redis不支持写操作,然后我们往主redis上写数据,并且在从redis上读取数据。



从上面的效果看,很明显我们达到了主从复制的目的了,因为在主redis上写入的数据在从redis上我们读取到了。

如果主redis服务器出现了问题,这时候我们就需要用从redis顶上去,替代主redis对外提供读写服务,这时候就需要修改下配置项重新启动,注释掉之前的slaveof和masterauth配置即可。


我们看到我们关闭了6379的主redis服务之后,6380的从redis服务器会每隔一秒向主redis尝试连接,但都失败了。这时候我们关闭从redis并且修改配置文件重新启动。



从图上可以看出,当从redis修改配置重新启动后,我们可以看到6380的redis服务就是运行在“Running in standalone mode”,跟6379没有任何关系了。这时候6380可以接受任何读写请求。如果后面6379的服务器好了,我们想把6379继续作为主服务器,可以将6380的数据进行保存,然后将相关数据文件复制到6379的服务器,并且重新启动即可。

至此,关于redis主从复制的实现介绍如此,关于更深一步的内部原理待后面研究之后另行说明。谢谢。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值