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

悬浮网站底部代码北京it行业公司排名

悬浮网站底部代码,北京it行业公司排名,安卓应用商店下载,江苏城嘉建设工程有限公司网站表面上我们的就是Sql语句和我们的java对象进行映射#xff0c;然后Mapper代理然后调用方法来操作数据库 底层的话我们就涉及到Sqlsession和Configuration 首先说一下SqlSession#xff0c; 它可以被视为与数据库交互的一个会话#xff0c;用于执行 SQL 语句#xff08;Ex…表面上我们的就是Sql语句和我们的java对象进行映射然后Mapper代理然后调用方法来操作数据库 底层的话我们就涉及到Sqlsession和Configuration 首先说一下SqlSession 它可以被视为与数据库交互的一个会话用于执行 SQL 语句Executor执行器、获取映射器Mapper、管理事务等操作 然后还有个全局配置ConfigurationConfiguration是Mybatis的核心配置类里面有所有的配置信息映射文件内容甚至数据库连接池配置 SqlSession 也就是说我们的通过SqlSession来操作我们的数据库SqlSession里面的执行器Executor来执行我们的具体的sql语句 我们的Executor其实有三种SimpleExecutor简单执行器ReuseExecutor可重用执行器 BatchExecutor批量执行器 一个是每次使用都创建一个Statement对象一个是可以以sql作为Key在MapString,Statement内查找我们的statement对象进行重用一个是将所有的sql语句添加到批处理等待逐一执行 Configuration 很简单就是一个mybatis的核心配置类我们的主要的配置信息例如数据库连接池配置就在里面 再深入一点就讲一下我们的Mybatis的一二级缓存实现原理 一级缓存在Sqlsession对象了里面 我们有的话就用Executor执行器从LocalCache里面查询没有的话就从数据库中查然后放到我们的LocalCache里面 在分布式或者多个Sqlsession的情况下可能会导致脏读问题 我们查询的时候会从Sqlsession的缓存里面查那要是我们此时用SqlSession1和SqlSession2我们要的数据在SqlSession2的缓存里面怎么办我们一级缓存不能实现跨SqlSession只能查不到然后查数据库 所以为了进一步优化多个SqlSession问题我们就有了二级缓存 二级缓存在Configuration里面: 在一级缓存查询之前我们先通过CachingExecutor从二级缓存中进行查询 开启二级缓存之后呢会被多个Sqlsession共享所以它是一个全局的缓存 所以查询流程变成了先查二级缓存再查一级缓存再查数据库 二级缓存对比一级缓存它实现了Sqlsession之间的缓存数据的共享 既然二级缓存可以优化查询那为什么不默认用二级缓存 数据一致性问题 问题描述二级缓存是跨SqlSession的多个SqlSession共享同一个缓存。如果某个SqlSession更新了数据库其他SqlSession可能仍然使用缓存中的旧数据导致数据不一致。解决方案可以通过配置缓存的刷新策略如flushInterval或在更新操作后手动清除缓存来缓解。 2. 缓存失效问题 问题描述当执行增删改操作时MyBatis会清除相关缓存。但如果其他系统或程序直接修改了数据库MyBatis无法感知导致缓存中的数据与实际数据库不一致。解决方案需要结合其他机制如数据库触发器或消息队列来通知缓存失效。 3. 内存占用问题 问题描述二级缓存默认存储在内存中如果缓存的数据量过大可能导致内存溢出OOM。解决方案可以通过配置缓存实现如Ehcache、Redis将缓存存储到磁盘或分布式缓存中。 4. 序列化问题 问题描述二级缓存默认需要缓存对象实现Serializable接口以便序列化存储。如果对象未实现序列化接口会导致缓存失败。解决方案确保所有缓存对象实现Serializable接口或使用自定义的缓存实现。 5. 缓存粒度问题 问题描述二级缓存的粒度是Mapper级别的即一个Mapper的缓存会被所有查询共享。如果某个Mapper的查询结果差异较大可能导致缓存命中率低甚至缓存污染。解决方案可以通过自定义缓存键或使用更细粒度的缓存策略来优化。 6. 分布式环境下的问题 问题描述在分布式环境中默认的二级缓存是本地缓存不同节点之间的缓存无法共享可能导致数据不一致。解决方案使用分布式缓存如Redis、Memcached替换默认的本地缓存。 7. 缓存配置复杂 问题描述二级缓存的配置相对复杂需要根据业务场景调整缓存策略如缓存清除策略、缓存刷新间隔等配置不当可能导致性能下降或数据不一致。解决方案仔细评估业务需求合理配置缓存参数。 8. 不适合高并发写场景 问题描述在高并发写场景下频繁的增删改操作会导致缓存频繁失效反而降低性能。解决方案在高并发写场景下建议禁用二级缓存或使用更高效的缓存策
http://www.hkea.cn/news/14576961/

相关文章:

  • 西安地产网站制作公司百度安装应用
  • jquery 手机网站开发微信营销系统平台
  • 宜昌市夷陵区建设局网站东城区网站排名seo
  • 东营网站建设服务商做网站运维的待遇
  • 原型样网站网站改版完成
  • 怎么做直播网站营口化工网站建设
  • jpress wordpress对比百度搜索引擎优化的推广计划
  • 权重高的博客网站手机网站开发环境搭建
  • 网站建设网络公司seo推广外包企业
  • 贵州省建设银行招聘网站非法网站怎么推广
  • 河北邢台做移动网站网站搜索引擎友好性分析
  • 做家教网站怎么样安卓app在线开发
  • 网站策划设计人工智能公司网站建设
  • php网站底部文件网站建设如何财务处理
  • 网站开发语言 aspwordpress 编辑图片无法显示
  • seo网站三种链接北京故宫网页设计
  • 马鞍山的网站建设公司哪家好怎么免费创造自己的网址
  • ps兼职做网站公司建设网站需要固定ip吗
  • 中国那些企业做网站做得好微信调用wordpress
  • 万界随机购物系统西安企业网站seo
  • 广西兴业县建设局网站阿里巴巴的电子商务网站建设
  • 个人网站做seo医药建设网站
  • 网站备案修改域名大庆免费网站建设公
  • 如何给企业做网站推广网盘 wordpress模板
  • page做网站国际网站浏览器
  • 成都网站建设单招网南通seo
  • 青海网站开发公司做直播网站软件有哪些软件下载
  • 曲阳网站建设十九冶成都建设有限公司网站
  • 公司做网站的优点网站开发的目的意义
  • 免费 建网站iis搭建网站教程win10