• 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。

  • 相关阅读:
    Struts2 拦截器(interceptor) 与 模型驱动3中传值方式
    Struts2 OGNL表达式
    ThreadLocal 是什么
    struts2的值栈(重点) 值栈是一个存储数据的内存结构 本质是一个接口 它的实现类OgnlValueStack
    Struts2 普通的java类 (Action)与Servlet通信 主要对象那个ServletActionContext 与 ActionContext对象来获取servlet中request对象和response对象
    struts2是多例的
    Django中一个项目里怎么使用两个数据库
    MYSQL中的锁
    详解Linux中文乱码问题终极解决方法
    Docker-compose up时报错:
  • 原文地址:https://www.cnblogs.com/martinzhang/p/3408590.html
Copyright © 2020-2023  润新知