首页 > 其他 > 详细

Redis的主从复制

时间:2021-05-11 17:27:02      阅读:15      评论:0      收藏:0      [点我收藏+]

redis主从复制

虽然Redis可以实现单机的数据持久化,都解决不了单点宕机问题,即一旦单台redis服务器本身出现系统故障、硬件故障等问题后,就会直接造成数据的丢失,需要使用另外的技术来解决单点问题。

主备模式(master/slave),可以实现Redis数据的跨主机备份。

redis的复制功能是支持多个数据库之间的数据同步。一类是主数据库(master)一类是从数据库(slave),主数据库可以进行读写操作,当发生写操作的时候自动将数据同步到从数据库,而从数据库一般是只读的,并接收主数据库同步过来的数据,一个主数据库可以有多个从数据库,而一个从数据库只能有一个主数据库。

通过redis的复制功能可以很好的实现数据库的读写分离,提高服务器的负载能力。主数据库主要进行写操作,而从数据库负责读操作。
技术分享图片

 

 

过程:

1:当一个从数据库启动时,会向主数据库发送sync命令,

2:主数据库接收到sync命令后会开始在后台保存快照(执行rdb操作),并将保存期间接收到的命令缓存起来

3:当快照完成后,redis会将快照文件和所有缓存的命令发送给从数据库。

4:从数据库收到后,会载入快照文件并执行收到的缓存的命令。

配置

Redis主从结构支持一主多从

主节点master:10.0.0.160

从节点slave:   10.0.0.161

版本号 :redis_version:5.0.3

方式1:命令行设置

Slave主要配置:Redis Slave 也要开启持久化并设置和master同样的连接密码,因为后期slave会有提升为master的可能,Slave端切换master同步后会丢失之前的所有数据。一旦某个Slave成为一个master的slave,Redis Slave服务会清空当前redis服务器上的所有数据并将master的数据导入到自己的内存,但是断开同步关系后不会删除当前已经同步过的数据。

先在mater上设置key1,主机10.0.0.160,设为v1-master

技术分享图片

 

然后在slave上执行命令,10.0.0.161,设置key,值设为v1-slave

技术分享图片 

 

技术分享图片

 

在slave上设置master的IP和端口,4.0版之前的指令为slaveof,5.0.3仍可使用SLAVEOF  MasterIP  Port

技术分享图片

 

发现发现master_link_status:一直都是down状态,应该是up才可以成功

解决办法,在redis的配置文件redis.conf中的bind 127.0.0.1,把这个主服务器的这个注释掉就可以

技术分享图片

 

Redis的主从复制

原文:https://www.cnblogs.com/liuyakai/p/14754509.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!