Redis双写一致性?

这篇具有很好参考价值的文章主要介绍了Redis双写一致性?。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

双写一致性:当修改了数据库的数据也要同时更新缓存的数据,缓存和数据库的数据要保持一致。

Redis双写一致性?,redis,数据库,缓存

Redis作为缓存,mysql的数据如何与redis进行同步呢?(双写一致性)

1.我们当时做排行榜业务时,把历史榜单数据存储到了缓存中。这个虽然也是热点数据,但是实时要求性不高。所以,我们采用了异步的方案定时同步数据到DB。

2.我们做优惠券模块时,把抢券的库存存入到了缓存中,这个需要实时的数据同步,不然会发生超发现象。为了保证数据强一致性,我们当时采用了Redisson提供的读写锁来同步数据的。

那你介绍下异步的方案?/ Redisson读写锁的方案?

异步方案:允许延时一致的业务,采用异步通知

①使用MQ中间件,更新数据之后,通知缓存删除。

②利用canal中间件,canal可以伪装成mysql的一个从节点,通过读取binlog数据,更新缓存。

Redisson读写锁:强一致性的

①共享锁:读锁readLock,加锁之后,其他线程可以共享读操作。

②排他锁:独占锁writeLock,加锁后,阻塞其他线程读写操作。文章来源地址https://www.toymoban.com/news/detail-569830.html

到了这里,关于Redis双写一致性?的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Redis缓存双写一致性

    如果redis中有数据:需要和数据库中的值相同 如果redis中无数据:数据库中的值要是最新值,且准备回写redis 缓存按照操作来分,可细分为两种: 只读缓存和读写缓存 只读缓存很简单:就是Redis只做查询,有就是有,没有就是没有,不会再进一步访问MySQL,不再需要会写机制

    2023年04月17日
    浏览(39)
  • Redis(十四)双写一致性工程案例

    https://github.com/alibaba/canal 数据库镜像 数据库实时备份 索引构建和实时维护(拆分异构索引、倒排索引等) 业务 cache 刷新 带业务逻辑的增量数据处理 传统mysql主从复制原理 MySQL的主从复制将经过如下步骤: 当 master 主服务器上的数据发生改变时,则将其改变写入二进制事件日志

    2024年02月21日
    浏览(38)
  • 【Redis】聊一下缓存双写一致性

    缓存虽然可以提高查询数据的的性能,但是在缓存和数据 进行更新的时候 其实会出现数据不一致现象,而这个不一致其实可能会给业务来带一定影响。无论是Redis 分布式缓存还是其他的缓存机制都面临这样的问题。 数据一致性 缓存中有数据,那么缓存的数据和数据库的数据

    2024年02月06日
    浏览(44)
  • Redis高级系列-缓存双写一致性

    Redis缓存双写一致性是指在更新数据库数据后,同时更新缓存数据以保持数据一致性的策略,总的来说,就是 写入redis 和 写入数据库 的数据要保持一致 2.1 Cache Aside Pattern(旁路缓存模式) 旁路缓存模式,字面意思理解:缓存是旁路,缓存相对与应用程序和数据库是旁路,应用

    2024年01月20日
    浏览(53)
  • Redis缓存双写一致性之更新策略

    你只要用缓存,就可能会涉及到redis缓存与数据库双存储双写,你只要是双写,就一定会有数据一致性的问题,那么你如何解决一致性问题? 双写一致性,你先动缓存redis还是数据库mysql哪一个?why? 延时双删你做过吗?会有哪些问题? 有这么一种情况,微服务查询redis无m

    2024年02月05日
    浏览(55)
  • Redis与MySQL双写一致性如何保证

    前言 在分布式系统中,数据一致性是一个重要的问题。当我们使用Redis和MySQL这两种不同的数据库时,如何保证它们之间的双写一致性是一个需要解决的难题。本文将探讨Redis与MySQL双写一致性的保证方法。 什么是双写一致性? 指的是当我们更新了数据库的数据之后redis中的数

    2024年02月09日
    浏览(40)
  • Redis缓存问题:穿透,击穿,雪崩,双写一致性等

    在高并发场景下,数据库往往是最薄弱的环节,我们通常选择使用 redis 来进行缓存,以起到缓冲作用,来降低数据库的压力,但是一旦缓存出现问题,也会导致数据库瞬间压力过大甚至崩溃,从而导致整个系统崩溃.今天就聊聊常见的 redis 缓存问题. 缓存击穿 缓存击穿一般指redis中的一

    2024年04月27日
    浏览(45)
  • 如何保证redis与db的双写一致性

        如何保证redis与db的双写一致性?这是一个十分热门的面试话题。 如何理解“一致性”这个概念?“事务”中“一致性”的定义是: 事务执行前后,数据从一个合法性状态变换到另外一个合法性状态。  比喻说,更新前:redis中记录的是100,db中记录的也是100。更新后: 

    2024年02月07日
    浏览(39)
  • 【redis】缓存双写一致性之工程落地实现(下)

    提示:以下是本篇文章正文内容,下面案例可供参考 如何监听MySQL的变动? MySQL有一个binlog日志 伪装成从机,从主机获取二进制文件 配置不在详述 配置不再详述 a、业务类: 当MySQL进行增删改操作时,后台的canal会立刻监听捕捉到MySQL的二进制binlog日志文件改动,并通过Jav

    2023年04月19日
    浏览(30)
  • redis高级篇 缓存双写一致性之更新策略

    缓存通用查询3部曲 redis 中数据,返回redis 中的数据 redis 中没有,查询数据库并返回 完成第二部的同时,将数据库查询结果写到redis,redis和数据库数据一致. 谈谈双写一致性的理解 1.如果redis 中有数据:需要和数据库中的相同 2.如果redis 中无数据: 数据库中的值如果是最新的

    2024年02月06日
    浏览(56)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包