美文网首页
如何保证redis和MySql 数据一致性

如何保证redis和MySql 数据一致性

作者: LT_9999 | 来源:发表于2021-06-01 00:00 被阅读0次
  1. 采用延时双删处理
    具体步骤:先删除缓存,再写数据库,休眠一段时间(读数据业务耗时+redis和数据库主从同步耗时),再次删除缓存。
    缺点:
    1. 休眠时间的估算准确性;
    1. 增加了写入请求的耗时;
  1. 异步消息处理
    先读redis,然后写MySql,然后更新redis集群服务器数据。将更新数据发送到消息队列,redis服务器订阅更新数据,然后同步更新。
    缺点:需要部署消费代码同步数据,有一定的开发量。

另一种情况

  1. 在代码层次执行完增删改后执行redis更新。基本没啥优点。代码侵入性高。在并发下还有可能数据不一致。

  2. 基于消息中间件,增删改后将增删改对应表和对应的数据唯一标识放入队列。然后在通过队列消息内容查询数据库更新redis。

  3. 监听数据库更改来实现redis更新。阿里canal可以做到。可以监听数据库日志来实现。

  4. 以上三种方案基于是数据极端事件的数据一致性。还有基于定时调度任务定时对在周期内更新或新增及删除的消息至redis个
    优点:开发过程中一般会根据实际情况来选择,或组合使用

[学习连接]https://mp.weixin.qq.com/s/6WxbY-BOjX_5mwHNgoVl8g

相关文章

  • 如何保证redis和MySql 数据一致性

    采用延时双删处理具体步骤:先删除缓存,再写数据库,休眠一段时间(读数据业务耗时+redis和数据库主从同步耗时),...

  • 97 基于Binlog实现MySQL与Redis数据一致性问题

    mysql 与Redis 数据一致性问题 直接将Redis清空中间件 canal框架 基于 docker环境构建 ...

  • 面试题一

    Redis 如何保证防止穿透 和雪崩Redis 如何模糊查询数据Redis 哨兵和cluster 架构有何区别S...

  • Redis学习笔记之主从复制

    为保证redis高可用, 一般公司都会部署一个集群。为保证整个集群的数据一致性,主从复制就尤为重要。Redis的主...

  • Redis面试问题

    一 如何保证redis高并发 二 如何保证redis高可用 三 redis的过期策略 四 redis的线程模型 五...

  • Linux学习笔记-Redis和MySQL同步

    Redis 如何保持和MySQL数据一致 1.MySQL持久化数据,Redis只读数据 redis在启动之后,从数...

  • MySQL InnoDB 并发控制,事务的实现 学习笔记

    所在文集:数据库 如何保证数据一致性 通过并发控制保证数据一致性的常见手段有: 锁(Locking) 数据多版本(...

  • 热点数据

    MySQL里有2000w数据,redis中只存20w的数据,如何保证redis中的数据都是热点数据相关知识:red...

  • Redis和Thread相关面试题

    小群,一起交流飞向架构师 1. MySQL里有2000w数据,redis中只存20w的数据,如何保证redis中的...

  • RabbitMQ最基础学习

    RabbitMQ 消息队列:可以保证数据一致性,多个请求访问时,按照排队的方式进入,redis也是排队处理。 异步...

网友评论

      本文标题:如何保证redis和MySql 数据一致性

      本文链接:https://www.haomeiwen.com/subject/joaolltx.html