CentOS 6.5下Redis安装部署配置指南(4)

3.1、Redis的主从配置简介:   
在Redis中配置Master-Slave模式其实非常的简单。相信在阅读完下面的文章您可以轻松愉快做到完成redis的Master-Slave同步。这里我先给大家列出一些理论性的知识,后面给出实际操作的案例。
下面的列表清楚的解释了Redis Replication的特点和优势。
1、同一个Master可以同步多个Slaves。    2、Slave同样可以接受其它Slaves的连接和同步请求,这样可以有效的分载Master的同步压力。因此我们可以将Redis的Replication架构视为图结构。
3、Master Server是以非阻塞的方式为Slaves提供服务。所以在Master-Slave同步期间,客户端仍然可以提交查询或修改请求。
4、Slave Server同样是以非阻塞的方式完成数据同步。在同步期间,如果有客户端提交查询请求,Redis则返回同步之前的数据。5、为了分担Master的读操作压力,Slave服务器可以为客户端提供只读操作的服务,写服务仍然必须由Master来完成。即便如此,系统的伸缩性还是得到了很大的提高。
6、Master可以将数据保存操作交给Slaves完成,从而避免了在Master中要有独立的进程来完成此操作。

3.2、redis主从的工作原理: 
在Slave启动并连接到Master之后,它将主动发送一个SYNC命令。此后Master将启动后台存盘进程,同时收集所有接收到的用于修改数据集的命令,在后台进程执行完毕后,Master将传送整个数据库文件到Slave,以完成一次完全同步。而Slave服务器在接收到数据库文件数据之后将其存盘并加载到内存中。此后,Master继续将所有已经收集到的修改命令,和新的修改命令依次传送给Slaves,Slave将在本次执行这些数据修改命令,从而达到最终的数据同步。
如果Master和Slave之间的链接出现断连现象,Slave可以自动重连Master,但是在连接成功之后,一次完全同步将被自动执行。
 
3.3、配置步骤说明:
Redis 的 master/slave 数据复制方式可以是一主一从或者是一主多从的方式,Redis 在master 是非阻塞模式,也就是说在 slave 执行数据同步的时候,master 是可以接受客户端的请求的,并不影响同步数据的一致性,然而在 slave 端是阻塞模式的,slave 在同步 master数据时,并不能够响应客户端的查询Redis 的 master/slave 模式下,master 提供数据读写服务,而 slave 只提供读服务Redis的 master/slave 的配置方式是在 slave 主机的 Redis目录下的 redis.conf 配置文件中
配置方式可以有2种:
1234567 1、一主一从 
    master -> slave
2、一主多从
    master -> slave -> slave -> slave
                ├--> slave -> slave
                ├─-> slave -> slave
                └─-> slave -> slave

一个集群可以包含最多4096个节点(主节点master和从节点slave),建议最多设置几百个节点,其配置特简单,就是把从服务器的redis.conf配置文件中的slaveof参数指向主服务器的ip 及 端口。

3.4、创建主从实现案例(本案例是通过一主机多端口的方式实现的):

3.4.1、创建redis主从目录
[root@mysqldb1 redis]# mkdir /redis/{master_6379,slave_6380}/{conf,log,data} -p
[root@mysqldb1 redis]# ls
master_6379  slave_6380

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/917b3ad8cb8b59f4da5f10b964cd3295.html