Redis主从复制基本配置

2015-04-07 14:09:54 · 作者: · 浏览: 41

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


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


Redis主从复制基本配置


1.说明


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


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


slaveof参数的格式如:slaveof


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


masterauth参数格式如:masterauth


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 -p 这里注意由于开启服务器较多,端口号一定要设置为要连接的服务器监听的端口。


通过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数据库的客户端读写进行合理的分离。