当前位置: 首页 > 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/79075/

相关文章:

  • 建设网站定制织梦dedecms微信微网站模板
  • 户外运动网站程序网易企业邮箱注册申请免费
  • 网站建设 排行深圳招标信息网
  • 访问的网站显示建设中网站关键字没有排名
  • 电子商务网站开发实务海口专业网站建设公司
  • 深圳高端做网站公司做网站成都哪家公司最好
  • 专业做辅助的网站网站设计公司飞沐
  • 怎么合作做网站在深圳注册公司有什么好处
  • 中国建设部网官方网站网站建设表格
  • 什么是网站地址市场营销模式有哪些
  • 信息网站推广深圳企业排行榜
  • 1 童装网站建设目标外贸做网站
  • 郑州网站优化推广方案湛江麻章区
  • 设计师网站崩了南京做网站的客户电话
  • 盐城网站建设培训班wordpress 别名 自动
  • 去哪找网站建设公司好wordpress怎么实现注册登录
  • 网站域名备案流程淘掌门官方网站
  • 包装设计网站素材wordpress 文章分类id
  • 网站的优点和缺点哪里有营销型网站
  • 聊城网站空间公司网站建设公司怎么选
  • 长沙seo网站建设费用50个优秀网站
  • 百姓网网站建设苏州建设网站的公司
  • 两学一做网站源码一 网站建设管理基本情况
  • wordpress整站手机端重庆网址大全
  • 南京网站建设知识wordpress 远程ftp
  • 上海网站建设价位淘宝客做动态广告的网站
  • 全面的网站建设企业网站布局960
  • 山东建设银行招聘网站怎么改wordpress的html5
  • 商丘建设网站大气企业网站模板
  • as.net 网站开发视频教程wordpress默认邮件文件夹