辛星浅析Redis中的主从复制

来源:互联网 发布:淘宝助理复制店铺 编辑:程序博客网 时间:2024/05/21 15:50

    首先简单介绍下Redis中的复制:

    (1)同一个master可以同步多个slave。

    (2)slave同样可以接受其他slaves的连接和同步请求,这样可以有效的分担master的同步压力。

    (3)master  server是以非阻塞的方式为slaves提供服务的,所以在master-slave同步期间,客户端仍然可以提交查询或修改请求。

    (4)slave   server同样是以非阻塞的方式完成数据同步。在同步期间,如果有客户端提交查询请求,Redis则返回同步之前的数据。

    (5)为了分担master的读操作压力,slave服务器可以为客户端提供只读操作的服务,写服务仍然必须由master来完成。

    (6)master可以将数据的保存操作交给slaves来完成,从而避免了在master中要有独立的进程来完成此操作。


     复制的工作原理:

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

   


        复制的配置:

        直接把配置文件中的#slaveof   <masterip>  <masterport>   中的#去掉,并且修改为相应的信息即可。






















0 0
原创粉丝点击