Redis主从复制基本配置

   实现Redis的主从复制配置比较简单,而且容易明白。

   下图是要配置的主从复制结构图:

   Redis主从复制基本配置

 1.说明

   Redis主从复制中一个主服务可以有多个从服务,一个从服务可以有多个从服务。

   

   配置比较简单,只需要更改redis.conf文件中的slaveof参数配置即可。

   slaveof参数的格式如:slaveof <masterip> <masterport>

   

   如果master服务器设置有密码则需要配置masterauth参数。

   masterauth参数格式如:masterauth <master-password>

2.配置主从服务器

  如上图可见master和slave1,slave2,slave3的服务器的端口的IP。

  master : 

         port 6379

         requirepass redis

  slave1 :

         port 6479

         slaveof 127.0.0.1 6379

         masterauth redis

         requirepass redis

   slave2 :

         port 6579

         slaveof 127.0.0.1 6479

         masterauth redis

         requirepass redis

   slave3 :

         port 6679

         slaveof 127.0.0.1 6379

         masterauth redis

         requirepass redis

    需要注意的是如果服务器中为设置requirepass参数,则从服务中不需要设置masterauth参数。

 3.启动服务器和客户端连接

   master:$ redis-server master.conf

   slaven:$ redis-server slaven.conf[依次类推]

   client:$ redis-cli -a <requirepass> -p <port> 这里注意由于开启服务器较多,端口号一定要设置为要连接的服务器监听的端口。

  

   通过redis-cli连接到redis-serverz之后,执行info命令,来查看服务器信息。

   

master:

      

Redis主从复制基本配置

    可以看到master服务器的角色是master并且连接其有2个从服务分别是127.0.0.1:6479和127.0.0.1:6679,即对应文中所描述的slave2和slave3。


slave1:

Redis主从复制基本配置

   可以看出slave1服务器角色是slave,并且其连接的主服务器是127.0.0.1:6379,即文中所描述的master,在整个主从复制集中作为主服务器;连接其的有1个从服务器127.0.0.1:6579,该服务器则是文中描述的slave2,在整个主从复制集中作为从服务器。


slave2:

Redis主从复制基本配置

   可以看出slave2是从服务器,其连接的主服务器是127.0.0.1:6479,即文中描述的slave1,slave1在整个主从复制集中同样是作为从服务器。


slave3:

Redis主从复制基本配置

    可以看出slave3是从服务器,其连接的主服务器是127.0.0.1:6379,即文中描述的master,master在整个主从复制集中是作为主服务器的。


4.应用

  从服务其的写功能是默认被关闭的,也不建议向从服务器写数据的。

  Redis主从复制基本配置  


 经过文中的一些列配置,就可以在应用中将Redis数据库的客户端读写进行合理的分离。



本文转自 secondriver 51CTO博客,原文链接:http://blog.51cto.com/aiilive/1622329,如需转载请自行联系原作者