一、是什么

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

二、能干嘛

  • 读写分离,性能扩展
  • 容灾快速恢复

一主多从

三、怎么玩:主从复制

尝试搭建一个 一主两从

步骤:

  1. 创建 /myredis 文件夹

  2. 复制 redis.conf 配置文件到文件夹中

  3. 配置 一主两从 ,创建三个配置文件

    redis6379.conf
    redis6380.conf
    redis6381.conf
    
  4. 在三个配置文件中写入内容

    include /myredis/redis.conf
    pidfile /var/run/redis_6379.pid
    port 6379
    dbfilename dump6379.rdb
    

  5. 将三个redis服务全部启动

  6. 查看三台主机运行情况,三个都是主机,没有主从效果

  7. 配置从机

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

  8. 测试 主从复制

    在主机中写操作,会自动复制一份到从机中去。

    在从机中写操作,报错了。从机中只能做读操作。

四、常用3招

4.1 一主二仆

4.1.1 假设从机宕机

开启三个服务 637963806381 ,设置6379为主机,另外两个为从机。

假设6381从机宕机,这时候,6379主机新增数据,看看会发生什么?

结论:

当从机挂掉了,再重新启动从机后,从机并不能加入到原先的主从关系中,需要重新手动加入。当重新加入后,它会把主机中的数据从头完整地复制一遍到从机。

4.1.2 假设主机宕机

开启三个服务 637963806381 ,设置6379为主机,另外两个为从机。

假设6379主机宕机,看看会发生什么?

4.1.3 主从复制原理

4.2 薪火相传

一个主机只管理一个从机,其他小从机交给主机的直属从机管理。

附庸的附庸不是我的附庸

中途变更转向:会清除之前的数据,重新建立拷贝最新的

风险:一旦某个从机宕机了,后面的小从机都没办法备份主机的内容。

4.3 反客为主

当一个主机宕机后,后面的从机可以立刻晋升为主机,其后面的小从机不用做任何修改。

可是现在只能手动 slaveof no one 让从机晋升为主机。若要让从机在主机宕机后自动晋升为主机,需要“哨兵模式”。

五、哨兵模式

5.1 是什么

“反客为主”的自动版,能够后台监控主机是否故障,如果主机故障了可以根据投票数自动将从机转为主机。

5.2 怎么使用

步骤:

  1. 先调整为一主二仆模式

  2. 自定义的 /myredis 目录下新建 sentinel.conf 文件,名字绝对不能错误。

  3. 配置哨兵,填写内容

    # 其中 mymaster 是为监控对象起的服务器名称(外号),1 是至少有多少个哨兵同意切换
    sentinel monitor mymaster 127.0.0.1 6379 1
    
  4. 启动哨兵

  5. 当主机挂掉,从机选举中产生新的主机(要稍微等待一会儿,等待哨兵监测到,然后再次启动主机)

5.2.1 复制延时

由于所有的写操作都是先在 主机 上操作,然后同步更新到 从机 上,所以从 主机 同步到 从机 上有一定的延迟,当系统很繁忙的时候,延迟问题会更加严重,从机 数量的增加也会使这个问题更加严重。

5.3 故障恢复

  • 优先级在 redis.conf 中默认:replica-priority 100,值越小优先级越高
在 vim 中,命令模式输入 ::set mu       开启行号

  • 偏移量是指获得原主机数据最全的(从原主机那里获得了几个数据)
  • 每个reids实例启动后都会随机生成一个40位的 runid

5.4 主从复制Java中

连接池中修改部分内容。

参考资源:

  • B站尚硅谷:https://www.bilibili.com/video/BV1Rv41177Af?p=1

Redis主从复制(七)相关推荐

  1. redis主从复制故障转移

    Redis主从复制与故障切换 目录 目录1 一.概述1 二. 实验目的2 三.试验环境2 四. 说明2 五. 拓扑2 六. 实施步骤2 6.1.分别安装redis2.8.32 6.2.配置主从同步3 ...

  2. Redis—主从复制

    原文作者:编程迷思 原文地址:深入学习Redis(3):主从复制 一.主从复制概述 主从复制,是指将一台Redis服务器的数据,复制到其他的Redis服务器.前者称为主节点(master),后者称为从 ...

  3. 七天玩转Redis 第七天打卡 Redis常见面试题及课程总结

    七天玩转Redis 第七天打卡 Redis常见面试题及课程总结 主要总结点: 截止到今天,七天玩转Redis课程就马上结束了,学以致用,那么学会了Redis,在找工作时会有哪些面试官爱问的问题呢? 一 ...

  4. Redis 主从复制的原理及演化

    一.什么是主从复制 在数据库语境下,复制( replication)就是将数据从一个数据库复制到另一个数据库中.主从复制,是将数据库分为主节点和从节点,主节点源源不断地将数据复制给从节点,保证主从节点 ...

  5. Redis主从复制与Redis集群

    Redis主从复制与Redis集群 前言 一.主从复制 1.是什么? 2 能干嘛 3 怎么玩:主从复制 4 新建redis*.conf配置文件 5.主从集群常用3种 1 主从模式一:一主二从 2 主从 ...

  6. Redis主从复制配置

    环境描述 Redis Master:192.168.1.100 6379(Ubuntu系统) Redis Slave1:192.168.1.101 6380(Ubuntu系统) Redis Slave ...

  7. 深入剖析Redis系列(七) - Redis数据结构之列表

    前言 列表(list)类型是用来存储多个 有序 的 字符串.在 Redis 中,可以对列表的 两端 进行 插入(push)和 弹出(pop)操作,还可以获取 指定范围 的 元素列表.获取 指定索引下标 ...

  8. redis+主从复制+集群配置

    redis+主从复制+集群配置 redis是一个key-value存储系统.和memcached类似,不过redis支持的value类型更多,主要有:string(字符串).list(链表).set( ...

  9. cxgrid主从表 点+号展开_深入理解Redis主从复制

    一.背景 前面的文章中,我们介绍过Redis的持久化机制,它可以实现Redis实例数据的crash-safe.但是这里有一个问题,就是Redis其实还存在着单点故障问题,比如说Redis的硬盘坏掉了, ...

  10. Redis主从复制下的工作原理

    Redis主从复制下的工作原理 Redis主从复制的配置十分简单,它可以使从服务器是主服务器的完全拷贝.需要清楚Redis主从复制的几点重要内容: 1)Redis使用异步复制.但从Redis 2.8开 ...

最新文章

  1. [网摘学习]在Ubuntu上安装和配置OpenStack Nova之二
  2. 从头开始学习Unity着色器
  3. Android Studio 更新失败解决方法
  4. 【算法】anchor free 和 anchor based 目标检测模型
  5. 【android】静态链接器/加载器(ld) 动态加载器(/system/bin/linker)+动态加载接口(dlopen)
  6. Node.js 博客实例(三)添加文件上传功能
  7. telnet不能用,提示:-bash: telnet: command not found
  8. java实用教程——组件及事件处理——ItemEvent事件(设置字体类型)
  9. c语言模拟实现库函数strcat,【C语言】模拟实现库函数strcat函数
  10. Kali Linux 网络扫描秘籍 第七章 Web 应用扫描(二)
  11. 一加屏幕检测代码_一加7Pro深度体验:亿元屏幕真曲面
  12. php libiconv close_undefined reference to `libiconv_open 无法编译PHP
  13. 高等数值计算方法第一章引论【误差,条件数】
  14. 易语言使用超级模块 全局热键
  15. excel快捷键设置
  16. 031_组件 reRender控件和rendered控件的使用
  17. 在list中插入一个数据
  18. Android自动股票,腾讯股票自选股 Android 版上线 - YangJunwei
  19. AI智能电话机器人错误码大全解析
  20. 树莓派与微雪触摸屏连接

热门文章

  1. 王者荣耀东西对决志竞巅峰,谁能新王加冕
  2. 程序员,你赞同柏拉图的爱情观吗?
  3. oracle 11g创建表空间,创建用户并赋予权限,导入dmp和导出dmp文件
  4. 安卓手机必备实用app,看看你的手机里面有没有
  5. 修改ubuntu hostname
  6. 计算机应用基础(专)【4】
  7. 2019年第三周作业
  8. Source Map介绍 -浏览器篇
  9. 2020电商新宠儿:天猫无货源模式,一位电商老手来告诉你怎么做
  10. RuntimeWarning:... received a naive datetime while time zone support is active,对USE_TZ = False的解释。