Redis理解

突然看到一篇关于Redis的理解。发现渐渐的随着工作开始成了一个copy工作者。每次发现错误或者需要用的东西就会跑来查询,查询以后就去测试然后应用。慢慢的在不知道的情况中忘记了当时学习的快乐。

此篇只是博主个人思维导图,各位朋友看完勿喷,有错误希望在评论区写下来,万分感谢

Redis思维导图(RDB模式转换AOF模式)

1. 缺点:每次加入新的数据,主节点都会把全部数据再次发送给从节点。这是要损害消耗的。

2. 解决问题一:增加缓存区和偏移量 方便在某个从节点挂掉以后 上线同步数据 有一个问题就是如果新进从节点该怎么办

 缺点:如果有新加入的从节点,那么主节点如何判断是否需要同步全部数据

 为了更容易看清楚,下面分为多张图片

 2.1. 没有有掉线情况

 

 2.2. 存在掉线情况

  图一

  

  

  图二

  

  图三

  

3. 解决问题二:增加主节点的唯一的随机运行ID,来保证主节点明确知道谁是自己的下级 问题来了 如果主节点挂掉怎么办

  

4. 解决问题三:哨兵模式 sentinel

  问题三:当主节点挂掉以后,如何选择某一个从节点做为主节点,又如何选择某一个这个节点如何修复

  哨兵模式:独立的进程运行,比如说 城池防守,所有士兵都站在城墙上被攻城人冲击。哨兵模式则是监军。来回巡逻,如果士兵被流矢击中倒地,监军就会过去拍拍士兵挂没挂,如挂了,那么监军就会把挂掉士兵拖下去,让另一个士兵顶上。也就是说一个监军可以监多个士兵

  哨兵:

    1. 通过发送命令,让Redis服务器返回监控的状态。包括master和slave

    2. 当哨兵检测到master挂掉,会自动将slave转换成master,并且会告知所有的 slave 你们的master换了。以后去新的master同步数据。然后所有的slave收到消息以后,修改自己的配置文件。以后就去新master拿数据

  4.1. 单哨兵  问题又来了 万一单哨兵,哨兵挂掉怎么办

  

  

  4.2 多哨兵模式  解决单哨兵模式挂掉怎么办

    多哨兵模式:sentinel不但需要监听master和slave还需要监听除自己以外的别的sentinel。已防止某个sentinel挂掉。

    如master挂掉以后,由于不是一个单哨兵模式了,所以发现的哨兵会自己做一个记录,一定数量的sentinel知道挂掉以后,就会去讨论哪一个slave来顶替master的位置,来进行投票表决。

    最后结果投票之后,由发起人sentinel来进行failover操作,也就是故障切换,切换以后告诉所有哨兵,让哨兵告诉监控下的所有slave更改配置

    

  

(0)

相关推荐

  • dotNetCore操作Redis(含CentOS7哨兵模式部署)

    现在说到使用缓存中间件基本就是 Redis 了,通常开发环境或测试环境部署一个单机版就可以运行了,但要上生产环境还需要进行高可用的方式来部署,本文说说在 CentOS7 中 Redis 高可用的部署以 ...

  • Redis宕机 快速恢复

    Redis宕机 快速恢复

  • [Redis] 万字长文带你总结Redis,助你面试升级打怪

    文章目录 Redis的介绍.优缺点.使用场景 Linux中的安装 常用命令 Redis各个数据类型及其使用场景 Redis字符串(String) Redis哈希(Hash) Redis列表(List) ...

  • redis学习

    邻近年底,决定辞职,自认为即使没有找到很满意的工作,也应该不会差.事实是有点自信回头,虽然找到了工作,但途中也受到了打击,不得不承认学习的激情不知何时,渐渐熄灭.直到认识一个女生,她让我对未来充满着信 ...

  • 14_Redis的哨兵模式

    14_Redis的哨兵模式

  • Redis集群模式

    Redis集群模式

  • Redis主从复制、哨兵模式、集群

    一.Redis主从复制 1.Redis主从复制的概念 主从复制,是指将一台Redis服务器的数据,复制到其他的Redis服务器. 前者称为主节点(Master),后者称为从节点(Slave): 数据的 ...

  • redis哨兵模式

    上一篇我们说了redis的主从配置,我们也配置了一个主节点和两个从节点,主节点中写入的数据会自动同步到从节点中 但是这种方式有个缺陷,就是当主节点挂了,整个redis服务就不能用了,需要人为的去重启或 ...

  • Redis系列之-Redis-Sentinel

    一主从复制高可用 123 #主从复制存在的问题:#1 主从复制,主节点发生故障,需要做故障转移,可以手动转移:让其中一个slave变成master#2 主从复制,只能主写数据,所以写能力和存储能力有限 ...

  • 一不小心肝出了4W字的Redis面试教程

    本文脑图 redis基本数据结构 本文脑图 前言 Redis是基于c语言编写的开源非关系型内存数据库,可以用作数据库.缓存.消息中间件,这么优秀的东西客定要一点一点的吃透它. 这是关于Redis五种数 ...

  • redis-哨兵

    目录 一.基本概念和架构 1.1 基本概念 1.2 架构 二.部署演示 2.1 部署主从节点 2.2 部署哨兵节点 2.3 故障转移演示 三.客户端连接(配置提供者) 3.1 代码 3.2 原理 四. ...