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

中国十大门户网站企业培训考试系统app

中国十大门户网站,企业培训考试系统app,潍坊网站建设科技有限公司,建设银行官方网站-云服务项目场景#xff1a; 一般情况下#xff0c;Redis 用来实现应用和数据库之间读操作的缓存层#xff0c;主要目的是减少数据库 IO#xff0c;还可以提升数据的 IO 性能。 如下图所示#xff0c;这是它的整体架构。 当应用程序需要去读取某个数据的时候#xff0c;首先会先…项目场景 一般情况下Redis 用来实现应用和数据库之间读操作的缓存层主要目的是减少数据库 IO还可以提升数据的 IO 性能。 如下图所示这是它的整体架构。 当应用程序需要去读取某个数据的时候首先会先尝试去 Redis 里面加载如果命中就直接返回。如果没有命中就从数据库查询查询到数据后再把这个数据缓存到 Redis 里面。 如下图在这样一个架构中会出现一个问题就是一份数据同时保存在数据库和 Redis 里面当数据发生变化的时候需要同时更新 Redis 和 Mysql由于更新是有先 后顺序的并且它不像 Mysql 中的多表事务操作可以满足 ACID 特性。所以就会出 现数据一致性问题。 ACID是指数据库管理系统DBMS在写入或更新资料的过程中为保证事务transaction是正确可靠的所必须具备的四个特性原子性atomicity或称不可分割性、一致性consistency、隔离性isolation又称独立性、持久性durability。 解决方案 1. 先更新数据库再更新缓存 2. 先删除缓存再更新数据库 如果先更新数据库再更新缓存如果缓存更新失败就会导致数据库和 Redis 中的数据不一致。如下图所示。 如果是先删除缓存再更新数据库理想情况是应用下次访问 Redis 的时候发现 Redis 里面的数据是空的就从数据库加载保存到 Redis 里面那么数据是一致的。 但是在极端情况下由于删除 Redis 和更新数据库这两个操作并不是原子的所以这个过程如果有其他线程来访问还是会存在数据不一致问题。 所以如果需要在极端情况下仍然保证 Redis 和 Mysql 的数据一致性就只能采用最终一致性方案。 1、比如基于 RocketMQ 的可靠性消息通信来实现最终一致性。如下图。 2、还可以直接通过 Canal 组件监控 Mysql 中 binlog 的日志把更新后的数据 同步到 Redis。如下图 因为这里是基于最终一致性来实现的如果业务场景不能接受数据的短期不一致性那就不能使用这个方案来做。 也会有人说“你这个最终一致性方案”还是会存在数据不一致的问题啊那怎么解决 先不用慌技术是为业务服务的所以不同的业务场景对于技术的选择和方案的设计 是不同的所以这个时候可以反问面试官具体的业务场景是什么 一定要知道的是一个技术方案不可能 cover 住所有的场景明白了吗
http://www.hkea.cn/news/14467428/

相关文章:

  • 智能ai写作免费网站玉树营销网站建设公司
  • 企业电子商务网站设计的原则药企网站怎么做
  • 建设银行登录网站赣州有没有做网站的
  • 淘宝客做网站备注怎么写的wordpress视屏
  • 张家港网站建设门店wordpress 当前主题路径
  • 湛江网站制作费用公众号登录平台入口官网
  • 江西建设厅教育网站国际室内设计公司排名
  • 网站功能模块 分析微网站开发工具
  • 护肤品网站优化案例黄山旅游攻略自助游
  • 做网站如何文字链接文字asp.net网站开发实例视频教程
  • 国家允许哪几个网站做顺风车钓鱼网站在线下载
  • 个人品牌网站设计建行的官网网址是什么
  • 域名制作网站怎样查看网站的权重
  • wordpress 刷评论wordpress+优化速度
  • 国外优质设计网站福建省建设工程注册管理中心网站
  • 健康网站建设与管理触屏网页界面设计
  • 加强社区网站建设支付单页网站模板
  • 南京哪家公司做企业网站 做得比较好企业管理咨询公司排行
  • 国外平面设计网站有哪些甘肃企业网站备案
  • 晋江网站有什么职业做可信赖的手机网站设计
  • 好看响应式网站模板学校网站建设的意见
  • 温州建设局网站林南飞建手机网站怎么收费
  • 长沙口碑好网站建设wordpress 主题 目录
  • 做网站外包需要提供什么2345浏览器网页版入口
  • 怎么将自己做的网站发到网上去个人网站设计及实现
  • 三站合一网站建设方案免费站群系统
  • 昆明网站开发哪家好伍佰亿网站建设
  • 电子商务网站开发的总结wordpress 微博时间
  • 网站怎么自己做推广生物科技公司网站建设
  • 简单网站后台模板汽修行业做环评网站