zoukankan      html  css  js  c++  java
  • redis分布式(主从复制)

    Redis主从复制配置和使用都非常简单。通过主从复制可以允许多个slave server拥有和master server相同的数据库副本。
       
    Redis的复制原理:
    本身就是Master发送数据给slave,只是第一次连接是Slave向Master发送同步请求,其它的都是Master主动向Slave发送数据。


    Redis主从复制的过程:
    当设置好slave服务器后,slave会建立和master的连接,然后发送sync命令。无论是第一次同步建立的连接还是连接断开后的自动尝试重新连接,master都会启动一个后台进程,将数据库快照保存到文件中,同时master主进程会开始收集新的写命令并缓存起来。后台进程完成写文件后,master就发送文件给slave,slave将文件保存到磁盘上,然后加载到内存恢复数据库快照到slave上的数据库中。

    master后续收到的写命令都会通过开始建立的连接发送给slave。从master到slave的同步数据的命令和从client发送的命令使用相同的协议格式。当master和slave的连接断开时slave可以自动尝试重新建立连接。如果master同时收到多个slave发来的同步连接命令,只会使用启动一个进程来写数据库镜像,然后发送给所有slave。


    Redis主从复制特点:
    1.master可以拥有多个slave
    2.多个slave不但可以连接同一个master外,还可以连接到其它slave
    3.主从复制不会阻塞master,在同步数据时,master可以继续处理client请求
    4.提高系统的伸缩性


    配置slave服务器(master无需特别配置,只配置slave即可):
    vi编辑配置文件
    [root@martin etc]# vi /usr/local/redis/etc/redis.conf

    1.在约116行找到 # slaveof <masterip> <masterport>  这里是主服务器的IP和端口(从属于哪个master的哪个port)
       slaveof 192.168.1.26 6379

    2.在约124行找到 # masterauth <master-password>    这里是主服务器的授权密码(如果master没有设置密码此处则不用配置)
       masterauth 123456

    3.重启slave服务器,重新登录到slave

    4.查看服务器角色(身份):
       redis 127.0.0.1:6379> info
       ......
       role:slave                                   #角色
       master_host:192.168.1.26          #master主机
       master_port:6379                      #master端口
       master_link_status:up                #master连接状态:up同步;down异步
       master_last_io_seconds_ago:4    #最后一次同步在见秒钟前
       master_sync_in_progress:0
       slave_priority:100
       db0:keys=4,expires=0                #数据库有几个key,过期key的数量

    总结:照此方法,此slave机还可以被充当为其它服务器的master。

  • 相关阅读:
    【UML建模】UML类图几种关系的总结
    【架构框架】IoC框架
    【AutoMapper基础】值解析器--Custom value resolvers
    【AutoMapper基础】简单示例--Flattening
    【AutoMapper简介】
    【UML建模】UML类图符号简介
    【.Net基础02】XML序列化问题
    【.net 基础01】ReferenceEquals,Equals,==的区别
    【Visual Studio】利用预编译命令发布不同的版本
    【Windows Phone 8】五角星评价控件
  • 原文地址:https://www.cnblogs.com/martinzhang/p/3408590.html
Copyright © 2011-2022 走看看