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

苏州建设教育协会网站紫金网站建设价格

苏州建设教育协会网站,紫金网站建设价格,网站开发人员职业分析,深圳勘察设计网Cache Aside Pattern(旁路缓存模式) Cache Aside Pattern 中服务端需要同时维系 DB 和 cache,并且是以 DB 的结果为准。 下面我们来看一下这个策略模式下的缓存读写步骤。 写 : 先更新 DB 然后直接删除 cache 。 简单画了一…

Cache Aside Pattern(旁路缓存模式)

Cache Aside Pattern 中服务端需要同时维系 DB 和 cache,并且是以 DB 的结果为准。

下面我们来看一下这个策略模式下的缓存读写步骤。

  • 先更新 DB

  • 然后直接删除 cache 。

简单画了一张图帮助大家理解写的步骤。

 

:

  • 从 cache 中读取数据,读取到就直接返回

  • cache中读取不到的话,就从 DB 中读取数据返回

  • 再把数据放到 cache 中。

Cache Aside Pattern 有一定的缺陷:

缺陷1:首次请求数据一定不在 cache 的问题

解决办法:可以将热点数据可以提前放入cache 中。

缺陷2:写操作比较频繁的话导致cache中的数据会被频繁被删除,这样会影响缓存命中率 。

解决办法:

  • 数据库和缓存数据强一致场景 :更新DB的时候同样更新cache,不过我们需要加一个锁/分布式锁来保证更新cache的时候不存在线程安全问题。

  • 可以短暂地允许数据库和缓存数据不一致的场景 :更新DB的时候同样更新cache,但是给缓存加一个比较短的过期时间,这样的话就可以保证即使数据不一致的话影响也比较小。

有以下两个问题:

在写数据的时候可以先删除Cache,再更改db吗?       

解答:当然不可以,会造成数据不一致,比如请求1要写入A数据,在请求1删除了Cache后,请求2要读A数据,然后请求1在请求2读完数据后才写入A数据,这样请求2读到的数据其实是旧数据,造成数据不一致。

在写数据的过程中,先更新DB,后删除cache就没有问题吗?

​​​​​​​解答:理论上来说还是可能会出现数据不一致性的问题,不过概率非常小,因为缓存的写入速度是比数据库的写入速度快很多!比如说,A数据不在Cache中,请求1从数据库中读完A数据后,请求2写入A数据并且删除了Cache中的A数据,然后请求1把读到的旧的A数据写入Cache,造成数据不一致。

http://www.yayakq.cn/news/289879/

相关文章:

  • php如何做音乐网站免费企业网站建设哪家
  • 吉林企业网站模板建站哪个好哈尔滨建设网证照查询
  • 杭州 电子商务网站建设 网络服务公司介绍怎么写
  • spring做网站做网站创业流程图
  • 怎么做网站上的销售代沈阳化工大学建设工程网
  • 网站建设与运营实训总结wordpress双语建站
  • 湘潭网站建设工作室怎么通过做网站挣钱
  • 仓储网站建设互联网营销有哪些
  • 成都设计电商网站网站建设 邯郸网站制作
  • 手机版自适应网站怎么做如何提升wordpress的打开速度
  • 智能建站系统排行博客 软件 wordpress
  • 闵行品划网站建设公司网站申请了如何上传到服务器
  • 网站域名备案流程中国中小企业信息网
  • 长治建一个网站大概要多少钱厦门英文网站建设
  • 建设网站的账务处理wap网站制作动态
  • 广州自助网站推广制作杭州公司建站模板
  • 专业做网站登录网站制作台州
  • 如何制作建筑公司网站专业网络推广平台
  • 廊坊公司快速建站如何制作自己的网站页制作
  • 郑州餐饮 网站建设微信运营
  • 网站商品台管理系统服务类网站建设
  • 咋做网站工信部网站备案方法
  • 秦皇岛网站建设网站建设教程哪家公司好
  • 郑州百度建网站做外包网站搭建
  • 诚客网站建设西安知名的集团门户网站建设服务商
  • 网站建设看什么书经典品牌策划书范文案例
  • 聊城建设银行官方网站外汇110网站上做的这些曝光
  • 网站被人做跳转了什么是微网站系统
  • 顺德网站建设公司价格快三直播app下载平台
  • 眉山网站建设哪家好wordpress爆路径