zoukankan      html  css  js  c++  java
  • Redis(七)

    Redis主从复制

    author:QYX

    主从复制、就是主机数据更新后根据配置和策略,自动同步到备机的master/slaver机制,Master以写为主,Slave以读为主

    用处:

    读写分离 性能扩展

    容灾快速恢复

    配从(服务器)不配(主服务器)

    拷贝到多个redis.conf文件include

     

     

     

    开启daemonize yes (主配置文件里有,可以省略)

    Pid文件名字pidfile (主配置文件里有,可以省略)

    指定端口port

    Log文件名字 (主配置文件里有,可以省略)

    Dump.rdb名字dbfilename (必须更改,否则重名会被替换)

    Appendonly 关掉或者替换名字 (主配置文件里有,需要更改)

    常用命令:

    info replication 打印主从复制的相关信息

     

     slaveof <ip> <port>成为某个实例的从服务器

    例设置6379为主服务器

     

     

    设置完成后,我们可以从服务器上使用info replication 查看主服务器的配置

    主从复制测试:

    主服务器设置的键值,从服务器也会有(保持数据一致性),但从服务器不可写,从服务器只有读的功能

    以下为个人解答:

    1、全都会被复制

    2、从服务器只能读

    3、原地待命等待主机上线

    4、能顺利复制

    5、能跟上

    Redis主从复制之薪火相传

     

    之前我配置的都是临时从服务器,从主服务器的redis.conf文件的slaveof可以设置永久的从服务器

    主从复制原理:

     

    一个主机有一个从机,其从机又是另一个从机的主机,这就是所谓的薪火相传(见上图),如果上一个主机down掉后,其从机可以使用slaveof no one解绑(不然因为其本身是slave,前面提到过,master down掉后,slave会原地待命,等待主机上线,在此期间其仍然是从机,不能进行写操作),成为新主机,完成了去中心化,但如果中间的机器down,则剩余的机器没有联系了。

    Redis主从复制之哨兵模式

    步骤如下:

    1 新增sentinel.conf文件

     2 配置sentinel.conf 文件

     启动哨兵

     

    通过测试我们可以得知,主机6379 down掉后,哨兵会通过留言协议确定它down 掉,然后通过投票选举新的主服务器,从图上我们可得知心的主服务器为6380,另外一点,旧的主机6379变为了新主机6380的从机,换言之,6379上线后便就是新主服务器6380的从服务器

     

    在服务器对应的redis.conf可以设置优先级,优先级值(越低)优先级越高,优先级越高则会被选举为主机

  • 相关阅读:
    一句话命令修改大小写
    SpringBoot打成jar包后无法读取resources资源文件里文件路径的问题 cannot be resolved to absolute file path because it does
    java路径两种写法"/"和"\"
    java SASL_SSL 帐号密码 方式访问 kafka
    Mybatis 获得自动生成主键值
    swo2 SOA OAuth 使用,
    java.sql.SQLException: Value '0000-00-00 00:00:00' can not be represented as java.sql.Timestamp是因为时间字段里有'0000-00-00 00:00:00‘这种格式的日期导致的
    OkHttp3找不到FormEncodingBuilder
    Maven依赖的版本范围
    java lambda求和
  • 原文地址:https://www.cnblogs.com/qyx66/p/12215982.html
Copyright © 2011-2022 走看看