实现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:
可以看到master服务器的角色是master并且连接其有2个从服务分别是127.0.0.1:6479和127.0.0.1:6679,即对应文中所描述的slave2和slave3。
可以看出slave1服务器角色是slave,并且其连接的主服务器是127.0.0.1:6379,即文中所描述的master,在整个主从复制集中作为主服务器;连接其的有1个从服务器127.0.0.1:6579,该服务器则是文中描述的slave2,在整个主从复制集中作为从服务器。
slave2:
可以看出slave2是从服务器,其连接的主服务器是127.0.0.1:6479,即文中描述的slave1,slave1在整个主从复制集中同样是作为从服务器。
可以看出slave3是从服务器,其连接的主服务器是127.0.0.1:6379,即文中描述的master,master在整个主从复制集中是作为主服务器的。
4.应用
从服务其的写功能是默认被关闭的,也不建议向从服务器写数据的。
经过文中的一些列配置,就可以在应用中将Redis数据库的客户端读写进行合理的分离。
本文出自 “野马红尘” 博客,请务必保留此出处http://aiilive.blog.51cto.com/1925756/1622329
原文地址:http://aiilive.blog.51cto.com/1925756/1622329