• Redis主从复制


    一、Redis的Replication

        优点:读写分离  

        下面的列表清楚的解释了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中要有独立的进程来完成此操作。
        
    二、Replication的工作原理

        在Slave启动并连接到Master之后,它将主动发送一个SYNC命令。此后Master将启动后台存盘进程,同时收集所有接收到的用于修改数据集的命令,在后台进程执行完毕后,Master将传送整个数据库文件到Slave,以完成一次完全同步。而Slave服务器在接收到数据库文件数据之后将其存盘并加载到内存中。此后,Master继续将所有已经收集到的修改命令,和新的修改命令依次传送给Slaves,Slave将在本次执行这些数据修改命令,从而达到最终的数据同步。
        如果Master和Slave之间的链接出现断连现象,Slave可以自动重连Master,但是在连接成功之后,一次完全同步将被自动执行。

     master保存RDB文件是通过一个子进程进行的,所以master依然可以处理客户端请求而不被阻塞,但这也导致了在保存RDB文件期间,“键空间”可能发生变化(譬如接收到一个客户端请求,执行"set name diaocow"命令),因此为了保证数据同步的一致性,master会在保存RDB文件期间,把接受到的这些可能变更数据库“键空间”的命令保存下来,然后放到每个slave的回复列表中,当RDB文件发送完master会发送这些回复列表中的内容,并且在这之后,如果数据库发生变更,master依然会把变更的命令追加到回复列表发送给slave,这样就可以保证master和slave数据的一致性!

    三、如何配置Replication

    1、临时

    在Slave_B服务器上执行命令:
    slaveof 127.0.0.1 6379
    上面的方式只是保证了在执行slaveof命令之后,B成为了A的slave,一旦服务(B)重新启动之后,他们之间的复制关系将终止。
    2、永久:
    修改slave的redis.conf
    slaveof ip port   --设置master的ip和端口
     
    如果主数据库设置了密码,需要在从数据的配置文件中通过masterauth参数设置主数据库的密码。

    四、redis主从复制注意事项

    如果你使用主从复制,那么要确保master激活了持久化,或者 确保它不会在宕掉后自动重启。因为slave是master的完整备份,因此如果master通过一个空数据集重启,slave也会被清掉。

    参考:http://www.cnblogs.com/stephen-liu74/archive/2012/02/23/2364717.html
    其他资料:http://blog.csdn.net/pi9nc/article/details/17735653

  • 相关阅读:
    ZOJ2334 Monkey King 并查集 STL
    ZOJ2286 Sum of Divisors 筛选式打表
    ZOJ2105 终于找到错误
    ZOJ-2091-Mean of Subsequence (反证法的运用!!)
    【9929】潜水员
    【9928】混合背包
    【t077】宝物筛选
    【9927】庆功会
    【9926】完全背包
    【9925】0/1背包
  • 原文地址:https://www.cnblogs.com/sysout/p/5444702.html
Copyright © 2020-2023  润新知