您的位置:首页 > 数据库 > Redis

redis主从复制

2021-01-29 21:11 627 查看

  单个的redis可以自己进行持久化,然后把数据保存到自己的硬盘中存着,但是时间久了,机器老化,硬盘坏了怎么办?或者由于不可抗力比如火灾等情况,基于这种情景,redis提供了主从复制的机制;

  主从复制:例如一个主节点redis,两个从节点redis,两个从节点的服务器随便放在那里都行,放家里还是放在公司都行;

  通常情况下主节点向外提供服务,从节点只是同步主节点中的数据不向外提供服务,所以当主节点的redis被由于不可抗力挂了,那么redis就用不了了;

  注意:主从复制架构只是用于提供备份功能,主节点坏了,从节点不会顶上去,redis服务就挂了!

 

1. 主从节点配置

  5000端口是主节点,6000和7000是两个从节点,下图所示,为了便于测试,可以自己创建几个启动脚本:

 

  我们以5000端口为例

  cli5000.bat:

redis-cli.exe -h 127.0.0.1 -p 5000

  

  启动redis5000.bat:

redis-server .\redis5000.conf

 

  redis5000.conf文件就是将原来的那个配置文件复制一份,修改一点东西

 

 

 

  至于其6000和7000节点的配置和上面一样,复制一份修改就行

  但是由于从节点需要指定主节点所在的ip和端口,所以在这两个从节点配置文件中还需要修改一个地方:

 

  我这里因为是本机测试的,假如你是远程的redis主机,在三个配置文件中需要将bind 127.0.0.1这里的配置改为bind 0.0.0.0   表示所有的客户端都可以远程连接

  这里的ip根据自己需要进行修改,假如你修改了,上面的slaveof这里的ip也就需要相应的修改

 

2. 测试主从效果

  首先,点击 启动redis5000主.bat  和 启动redis6000从.bat 启动主从节点的服务端:

 

  我们双击cli5000.bat 和 cli6000.bat启动客户端:

 

  可以分别打开5000data和6000data目录,当满足持久化条件后就会有rdb和aof文件生成了;

  可以看到主从配置已经成功了,你可以打开你配制的所有从节点,都会自动从5000主节点中同步数据的;

  需要注意的是,从节点默认是不能写入数据的,只能读,因为从节点默认只做备份的作用

 

  想要从节点也能写入数据,我们只需要在配置文件中修改一个地方,然后重启redis服务端,下图所示:

  注意,从节点写入的数据,只会在当前从节点中的,不会同步到其他节点!

 

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: