当前位置: 首页 > news >正文

邢台做网站哪个网络公司好火狐搜索引擎

邢台做网站哪个网络公司好,火狐搜索引擎,三级做视频网站,合肥网站建设哪家好价格JAVA面试总结-Redis篇章(四)——双写一致性 问:redis 做为缓存,mysql的数据如何与redis进行同步呢?第一种情况,如果你的项目一致性要求高的话 采用以下逻辑我们应该先删除缓存,再修改数据库&…

JAVA面试总结-Redis篇章(四)——双写一致性

    • 问:redis 做为缓存,mysql的数据如何与redis进行同步呢?
    • 第一种情况,如果你的项目一致性要求高的话 采用以下逻辑
      • 我们应该先删除缓存,再修改数据库,还是先修改数据库,再删除缓存呢,以下有两种情况
        • 1.先删除缓存,再操作数据库
            • 正常情况
            • 异常情况
        • 2.先更新数据库,再操作缓存
            • 正常情况
            • 异常情况
      • 解决办法 :采用延迟双删
    • 问:为什么要删除两次缓存?
    • 由以上可知,先删除缓存,再修改数据库会导致有脏数据产生,采用延时再进行删除缓存,可以避免这种问题产生。
    • 问:为什么要删除两次缓存?
    • 由以上可知,先删除缓存,再修改数据库会导致有脏数据产生,采用延时再进行删除缓存,可以避免这种问题产生。
    • 问:为什么要延时删除?
    • 我们的数据库一般都有主从节点,我们需要延迟一会儿把主节点数据延迟到从节点,但是延时也可能会出现问题,但是具体延时多久需要自己去确定,而且这种一样会出现脏数据问题。
    • 问:有没有其他方案保持数据强一致?
    • 采用分布式锁
        • 采用锁可以保证数据强一致性,但是性能会降低
        • 具体代码实现
        • 读写锁(读锁)
        • 排它锁(写锁)
        • 只有要求强一致的情况下,才会使用锁
    • 第二种情况,如果你的项目能够允许数据的短暂不一致,采用以下逻辑
      • 异步通知
          • 1 使用MQ
          • 2 基于Canal的异步通知

在这里插入图片描述

问:redis 做为缓存,mysql的数据如何与redis进行同步呢?

第一种情况,如果你的项目一致性要求高的话 采用以下逻辑

在这里插入图片描述

我们应该先删除缓存,再修改数据库,还是先修改数据库,再删除缓存呢,以下有两种情况

1.先删除缓存,再操作数据库

正常情况

在这里插入图片描述
一开始数据库和缓存中都是10,先删除缓存,更新数据库为20,之后线程2再查询缓存,未命中去查询数据库,查到则写入缓存

异常情况

在这里插入图片描述
一开始数据库和缓存中都是10,先删除缓存,此时刚好有一个线程来进行查询,缓存中没有数据,去查询数据库,此时数据库未更新,查询到的是旧数据,再写入缓存的也是旧数据,最后更新数据库为20,此时导致缓存和数据库内容不一致

2.先更新数据库,再操作缓存

正常情况

在这里插入图片描述
一开始数据库和缓存中都是10,先更新数据库,再删除缓存,之后来了一个线程来进行查询,缓存中没有就去查询数据库,之后写入缓存,数据是一致的

异常情况

在这里插入图片描述
一开始数据库和缓存中都是10,如果有个线程在修改数据库之前进行查询,此时数据库未更新,查询到的是10,之后进行更新数据库,再删除缓存,然后线程1会把刚刚查到的旧数据写入缓存,导致数据不一致。

解决办法 :采用延迟双删

问:为什么要删除两次缓存?

由以上可知,先删除缓存,再修改数据库会导致有脏数据产生,采用延时再进行删除缓存,可以避免这种问题产生。

问:为什么要删除两次缓存?

由以上可知,先删除缓存,再修改数据库会导致有脏数据产生,采用延时再进行删除缓存,可以避免这种问题产生。

问:为什么要延时删除?

在这里插入图片描述

我们的数据库一般都有主从节点,我们需要延迟一会儿把主节点数据延迟到从节点,但是延时也可能会出现问题,但是具体延时多久需要自己去确定,而且这种一样会出现脏数据问题。

问:有没有其他方案保持数据强一致?

采用分布式锁

在这里插入图片描述

采用锁可以保证数据强一致性,但是性能会降低

在这里插入图片描述

具体代码实现

读写锁(读锁)

在这里插入图片描述

排它锁(写锁)

在这里插入图片描述

只有要求强一致的情况下,才会使用锁

第二种情况,如果你的项目能够允许数据的短暂不一致,采用以下逻辑

异步通知

1 使用MQ

在这里插入图片描述

2 基于Canal的异步通知

在这里插入图片描述
这种方法代码侵入较小

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

http://www.mmbaike.com/news/45614.html

相关文章:

  • wordpress3d标签软件网站关键词优化
  • 厦门网站建设2015站长工具官网
  • 镇网站制作价格自动的网站设计制作
  • 南京建设交易中心网站上海哪家seo公司好
  • 小程序制作免费德州seo优化
  • 江西建设信息网站seo技巧与技术
  • 网站标题前的小图标怎么做东莞网站建设方案报价
  • seo公司网站建设想做游戏推广怎么找游戏公司
  • 免费个人网站+上传关键词优化排名软件案例
  • 黑龙江省建设厅网站站长百度热搜广告位
  • 外挂网站怎么做seo咨询推广找推推蛙
  • 广州做贸易网站北京网站优化企业
  • 外贸企业网站建设温州网站建设
  • 毕业设计做网站品牌策划方案范文
  • 设计制作小车二教学视频seo网站推广招聘
  • 泉州最专业手机网站建设开发如何做营销活动
  • app开发软件价格seo短视频网页入口引流免费
  • 东莞大型网站建设公司外贸网站优化
  • 做试试彩网站动态网站的制作与设计
  • 网站制作 成功案例百度云搜索引擎官方入口
  • 郑州郑东新区网站建设站内优化怎么做
  • ui网站界面设计今天今日新闻头条最新消息
  • 沈阳公司做网站百度推广登录首页网址
  • 怎样做互联网推广台州seo网站排名优化
  • 设计网站建站新媒体代运营
  • 江苏省建设工程竣工备案网站二十个优化
  • 网站设计工资待遇今日军事新闻头条新闻
  • 电脑企业网站设计优化方案官网电子版
  • 做网站挂广告赚钱犯法吗东营seo
  • 政府单位官方网站建设360网站推广客服电话