美文网首页
缓存的数据与数据库数据一致性的方案

缓存的数据与数据库数据一致性的方案

作者: 不合格iOS开发 | 来源:发表于2018-08-21 10:17 被阅读0次

方式1:数据库保存数据,redis不persist

redis启动后,从数据库加载数据

不要求强一致实时性的读请求,都由redis处理

要求强一致实时性的读请求,由数据库处理

写请求有2种处理方式,由数据库处理

- 应用先写道数据库,然后更新redis

- 应用先写道数据库,然后其它daemon同步到redis

优点:redis启动不用处理redis数据和数据库不一致

缺点:redis启动给数据库很大的读压力

方式2:数据库和redis分别处理不同的数据类型

数据库处理要求强一致实时性的数据,例如金融数据、交易数据

redis处理不要求强一致实时性的数据,例如网站最热贴排行榜

redis和mysql数据的同步,代码级别大致可以这样做:

读: 读redis->没有,读mysql->把mysql数据写回redis

写: 写mysql->成功,写redis

并发不高的情况:

读: 读redis->没有,读mysql->把mysql数据写回redis,有的话直接从redis中取;

写: 写mysql->成功,再写redis;

并发高的情况:

读: 读redis->没有,读mysql->把mysql数据写回redis,有的话直接从redis中取;

写:异步话,先写入redis的缓存,就直接返回;定期或特定动作将数据保存到mysql,可以做到多次更新,一次保存;

相关文章

  • 数据库与缓存数据一致性解决方案

    一、序言 在分布式并发系统中,数据库与缓存数据一致性是一项富有挑战性的技术难点。本文将讨论数据库与缓存数据一致性问...

  • 缓存一致性问题

    1. 先删缓存,再更新数据库 对于保持缓存与数据库的数据一致性,有一种常见的解决方法就是先删除缓存,再更新数据库。...

  • Redis基础--缓存问题3+1

    缓存穿透、缓存雪崩、缓存击穿缓存与数据库数据一致性 缓存穿透 大多数互联网应用,使用缓存的方式如下: 当业务系统发...

  • 解决缓存与数据库的数据一致性问题

    解决缓存与数据库的数据一致性问题 问题分析 多个写请求执行顺序不同导致脏数据 存在更新缓存请求和读缓存请求,读缓存...

  • 保证缓存和数据库一致性

    如何保证缓存和数据库数据一致性呢? 1 先删除缓存 再更新数据库 线程1删除缓存 线程2查询数据 缓存没有命中,...

  • 缓存异常:如何解决缓存与数据库的一致性

    缓存和数据库的数据不一致的产生原因 数据一致性 缓存中有数据,那么,缓存中的数据值需要和数据库中的值相同 缓存中没...

  • redis缓存一致性问题解决方案

    场景 我们在很多情况下会使用缓存提高查询效率,减小数据库压力。但是引入缓存后,就要面对如何保证缓存与DB数据一致性...

  • 缓存一致性解决方案

    1.实时同步更新 特点:更新数据库的同时,更新缓存,使用缓存工具类或者AOP实现 优点:数据一致性强,不会出现缓存...

  • 缓存的刷新机制-第一篇

    关键字:redis刷新机制、先更新缓存还是先更新数据库、缓存和数据库如何保持数据一致性。 1. 前言 几天前被面试...

  • 2、java内存模型

    在1、高速缓存与硬件基础中介绍了数据一致性问题的产生原因及其硬件层面的解决方案。可知:高速缓存的引入会产生数据一致...

网友评论

      本文标题:缓存的数据与数据库数据一致性的方案

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