Redis的主从同步机制不仅可以让从库服务更多的读请求,分担主库的压力,而且还能在主库发生故障时,进行主从库切换,提供高可靠服务。

不过,在实际使用主从机制的时候,我们很容易踩到一些坑。这节课,我就向你介绍3个坑,分别是主从数据不一致、读到过期数据,以及配置项设置得不合理从而导致服务挂掉。

一旦踩到这些坑,业务应用不仅会读到错误数据,而且很可能会导致Redis无法正常使用,我们必须要全面地掌握这些坑的成因,提前准备一套规避方案。不过,即使不小心掉进了陷阱里,也不要担心,我还会给你介绍相应的解决方案。

好了,话不多说,下面我们先来看看第一个坑:主从数据不一致。

主从数据不一致

主从数据不一致,就是指客户端从从库中读取到的值和主库中的最新值并不一致。

举个例子,假设主从库之前保存的用户年龄值是19,但是主库接收到了修改命令,已经把这个数据更新为20了,但是,从库中的值仍然是19。那么,如果客户端从从库中读取用户年龄值,就会读到旧值。

那为啥会出现这个坑呢?其实这是因为主从库间的命令复制是异步进行的

具体来说,在主从库命令传播阶段,主库收到新的写命令后,会发送给从库。但是,主库并不会等到从库实际执行完命令后,再把结果返回给客户端,而是主库自己在本地执行完命令后,就会向客户端返回结果了。如果从库还没有执行主库同步过来的命令,主从库间的数据就不一致了。

那在什么情况下,从库会滞后执行同步命令呢?其实,这里主要有两个原因。

一方面ÿ

Redis主从同步与故障切换,有哪些坑?相关推荐

  1. 32 | Redis主从同步与故障切换,有哪些坑?

    文章目录 Redis核心技术与实战 实践篇 32 | Redis主从同步与故障切换,有哪些坑? 主从数据不一致 读取过期数据 不合理配置项导致的服务挂掉 Redis核心技术与实战 实践篇 32 | R ...

  2. Day758.Redis主从同步与故障切换的坑 -Redis 核心技术与实战

    Redis主从同步与故障切换的坑 Redis 的主从同步机制不仅可以让从库服务更多的读请求,分担主库的压力,而且还能在主库发生故障时,进行主从库切换,提供高可靠服务. 接下来是对应会出现的3个坑,分别 ...

  3. 10丨 Redis主从同步与故障切换,有哪些坑

    1. 主从数据不一致   主从数据不一致,就是指客户端从从库中读取到的值和主库中的最新值并不一致.举个例子,假设主从库之前保存的用户年龄值是 19,但是主库接收到了修改命令,已经把这个数据更新为 20 ...

  4. 五、Redis主从同步

    Redis 主从同步 一.复制 二.旧版复制功能的实现 2.1.同步操作 2.2.命令传播操作 三.旧版复制功能的缺陷 四.新版复制功能的实现 五.部分重同步的实现 5.1.复制偏移量 5.2.复制积 ...

  5. 浅析 Redis 主从同步与故障转移原理

    我们在生产中使用 Redis,如果只部署一个 Redis 实例,当该实例宕机,到恢复之前都不可用:虽说 Redis 一般都用来做缓存,但不可用给业务系统带来的影响也是不小的,流量大时甚至会导致整个服务 ...

  6. Docker搭建Redis主从同步详细教程

    文章目录 介绍: redis主从同步概念 redis主从同步原理 redis主从同步流程图 搭建redis主从详细步骤: 拉取redis镜像 创建所需文件夹,用于映射容器相应文件路径 运行容器指定挂载 ...

  7. 【Redis】Redis主从同步中数据同步原理

    [Redis]Redis主从同步中数据同步原理 文章目录 [Redis]Redis主从同步中数据同步原理 1. 全量同步 1.1 判断是否第一次数据同步 2. 增量同步 3. 优化Redis主从集群 ...

  8. 六、redis主从同步

    参考Redis 的主从同步,及两种高可用方式 010.Redis 主从架构搭建及原理详解 一.介绍 1.简介 redis的主从就是多台redis的数据保持一致.redis主服务器可写入和读取,从服务器 ...

  9. Redis主从同步模式(replication)

    主从同步模式(replication) 主从同步是指以一个节点为基准节点,将数据同步给从节点,使得主从节点的数据保持一致,主节点一般也称为Master,从节点Slave,一个Master节点可以有多个 ...

最新文章

  1. java8学习之Lambda表达式深入与流初步
  2. 深入“肠-脑”神经高速通道,揭开“第六感觉”面纱
  3. java 反射 工厂_JAVA反射机制、工厂模式与SPRING IOC
  4. 三目运算符 改变a标签的class属性
  5. HDU 5646 DZY Loves Partition
  6. Yii2 主从 数据库
  7. ellen 纽奥良大学演讲
  8. IntelliJ IDEA导入Maven之后强制刷新项目解决无法识别为Maven项目的问题
  9. kl变换与小波变换区别与联系_小波变换比傅里叶变换好在哪里_小波变换与傅里叶变换详解...
  10. 在STM8单片机中自己实现 printf()函数功能
  11. C语言:基于Easyx库实现连连看小游戏
  12. win10下装黑苹果双系统_黑苹果10.15.5系统与win10双系统镜像下载
  13. mysql两种事务管理器_MyBatis事务管理的两种方式
  14. 新唐(Nuvoton)8051单片机开发指南
  15. java微信qq登录接口开发_微博、微信、QQ第三方登陆实现 javaweb_thridlogin
  16. 计算机c盘能格式化吗,C盘能格式化吗
  17. ionic 构建 Cannot load gulp tasks: Error: Error in module: .\gulpfile.js:
  18. CenterNet2的深入浅出(CVPR2021)
  19. win10 powershell无法激活conda v4.9环境
  20. 暨南大学导师推荐、导师口碑、导师黑名单

热门文章

  1. IDEA安装教程(傻瓜式安装)
  2. 欺骗技术为何比蜜罐好
  3. 2022云南昆明市农村信用合作社联合社招聘精选题及答案
  4. 激光SLAM里程计标定 —— 直接线性方法
  5. 【机器学习】二分类问题中的混淆矩阵、准确率、召回率等 (Python代码实现)
  6. 手把手教会你:VMware Esxi系统安装步骤(版本7.0.3)
  7. 自研录屏软件(支持TCP/IP远程控制)
  8. TortoiseGit(乌龟git)简单操作oschina
  9. Adobe photoshop cs6使用技巧之截取文字
  10. sphinx mysql php使用_Sphinx全文检索之PHP使用教程