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

秀洲区住房和城乡建设局网站布吉网站建设哪家技术好

秀洲区住房和城乡建设局网站,布吉网站建设哪家技术好,如何查网站开发环境,ui设计生成器Mybatis学习笔记10 高级映射及延迟加载_biubiubiu0706的博客-CSDN博客 缓存:cache 缓存的作用:通过减少IO的方式,来提高程序的执行效率 Mybatis的缓存:将select语句的查询结果放到缓存(内存)当中,下一次还是这条select语句的话,直接从缓存中取,不再查数据库.一方面是减少了I…Mybatis学习笔记10 高级映射及延迟加载_biubiubiu0706的博客-CSDN博客 缓存:cache 缓存的作用:通过减少IO的方式,来提高程序的执行效率 Mybatis的缓存:将select语句的查询结果放到缓存(内存)当中,下一次还是这条select语句的话,直接从缓存中取,不再查数据库.一方面是减少了IO.另一方面不再执行繁琐的查找算法.提高效率. Mybatis自带的缓存机制包括: 一级缓存:将查询到的数据存储到SqlSession中. 二级缓存:将查询到的数据存储到SqlSessionFactory中. 或者集成其他第三方的缓存:比如EhCache(Java语言开发的),Memcache(C语言开发的)等 SqlSession和SqlSessionFactory的生命周期 SqlSessionFactory:一旦被创建就应该在应用的运行期间一直存在. SqlSession:每一个线程都应该有它自己的SqlSession实例. 那么一级缓存就是说一个线程内的多次的相同查询会被缓存.也就是说只针对当前会话.而且默认开启 而二级缓存是存放在SqlSessionFactory中的.那么会在整个应用访问期间一直存在 Mybatis中的缓存只针对DQL语句,也就是说缓存机制只对应select语句 先来看一个例子,这是上篇结尾的测试 大概目录结构  进行测试 1.一级缓存 Mybatis中一级缓存默认开启,不需要任何配置. 只要使用同一个SqlSession对象执行同一条SQL语句,就会走缓存. 查数据库没有的 再测试 什么时候不走一级缓存 1.SqlSession对象不是同一个,因在SqlSessionUtil里用了ThreadLocal,所以演示sqlSession不一样,需要从SqlSessionFactory里取 2.查询条件不一样 什么时候一级缓存失效? 第一次DQL和第二次DQL之间做了以下两件事中的任意一件,都会让一级缓存清空. 1.执行了sqlSession的clearCache()方法.这是手动清空缓存 2.执行了INSERT或DELETE或UPDATE语句.注意:不管你操作的是那张表.都会清空一级缓存 测试.clearCache() 测试执行了任意表的增删改操作  这里忘记commit了 但即使没有commit缓存也清空了 注意:sqlSession.close()方法,只是关闭sqlSession,如果用了连接池,只是将sqlSession的状态更改为不可用,和commit没有关系,如果开启了事务,没有commit就不会提交 commit了 二级缓存 二级缓存的范围是SqlSessionFactory(应用运行期间) 使用二级缓存需要同时具备以下几个条件: 1.在Mybatis核心配置文件中配置setting namecacheEnabled valuetrue全局性的开启或关闭所有映射配置文件(XXX.xml)中已配置的任何缓存.默认就是true,一般无需设置. 2.在需要使用二级缓存的XXX.xml映射文件中添加:cache / 3.使用二级缓存的实体类对象必须是可序列化的,也就是必须实现java.io.Serializable接口 4.SqlSession对象关闭或提交之后,一级缓存中的数据才会被写入到二级缓存当中.此时二级缓存才可用. 要求1---默认开启 要求2---在需要使用二级缓存的XXX.xml映射文件中添加:cache / 要求3---实现序列化接口 要求4---SqlSession对象关闭或提交之后,一级缓存中的数据才会被写入到二级缓存当中.此时二级缓存才可用. 如果这样的话都不会存到 注意日志中的缓存命中率 二级缓存什么时候失效:只要两次查询之间出现了增删改操作,二级缓存就会失效.当然一级缓存也会失效 二级缓存相关配置 Mybatis集成EhCache 注意:集成EhCache是为了代替Mybatis得二级缓存,一级缓存无法替代. 也就是说集成EhCache是将原先保存在SqlSessionFactory中的缓存,放到第三方缓存插件中 Mybatis对外提供了接口.可以集成第三方缓存组件.比如EhCache,MemCache等 集成EhCache步骤: 1.引入依赖 !--mybatis集成ehcache的组件-- dependency groupIdorg.mybatis.caches/groupId artifactIdmybatis-ehcache/artifactId version1.2.2/version /dependency !--ehcache需要slf4j的⽇志组件,log4j不好使-- dependency groupIdch.qos.logback/groupId artifactIdlogback-classic/artifactId version1.2.11/version scopetest/scope /dependency 2.在类的根路径下新建ehcache.xml文件,并配置以下配置信息 ?xml version1.0 encodingUTF-8? ehcache xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:noNamespaceSchemaLocationhttp://ehcache.org/ehcache.xsdupdateCheckfalse!--磁盘存储:将缓存中暂时不使⽤的对象,转移到硬盘,类似于Windows系统的虚拟内存--diskStore pathe:/ehcache/!--defaultCache默认的管理策略--!--eternal设定缓存的elements是否永远不过期。如果为true则缓存的数据始终有效如果为false那么还要根据timeToIdleSecondstimeToLiveSeconds判断--!--maxElementsInMemory在内存中缓存的element的最⼤数⽬--!--overflowToDisk如果内存中数据超过内存限制是否要缓存到磁盘上--!--diskPersistent是否在磁盘上持久化。指重启jvm后数据是否有效。默认为false--!--timeToIdleSeconds对象空闲时间(单位秒)指对象在多⻓时间没有被访问就会失效。只对eternal为false的有效。默认值0表示⼀直可以访问--!--timeToLiveSeconds对象存活时间(单位秒)指对象从创建到失效所需要的时间。只对eternal为false的有效。默认值0表示⼀直可以访问--!--memoryStoreEvictionPolicy缓存的3 种清空策略--!--FIFOfirst in first out (先进先出)--!--LFULess Frequently Used (最少使⽤).意思是⼀直以来最少被使⽤的。缓存的元素有⼀个hit 属性hit 值最⼩的将会被清出缓存--!--LRULeast Recently Used(最近最少使⽤). (ehcache 默认值).缓存的元素有⼀个时间戳当缓存容量满了⽽⼜需要腾出地⽅来缓存新的元素的时候那么现有缓存元素中时间戳离当前时间最远的元素将被清出缓存--defaultCache eternalfalse maxElementsInMemory1000 overflowToDiskfalse diskPersistentfalsetimeToIdleSeconds0 timeToLiveSeconds600 memoryStoreEvictionPolicyLRU/ /ehcache3.修改XXX.xml(映射文件)文件中的cache /标签,添加type属性 cache typeorg.mybatis.caches.ehcache.EhcacheCache/
http://www.yutouwan.com/news/37831/

相关文章:

  • 郑州品牌网站建设官网界面设计与制作主要学什么
  • 装饰网站模板下载网站制作现状解决方案
  • 龙华做棋牌网站建设哪家便宜网页设计与网站开发项目
  • 如何将别人的网站作为自己的长沙哪里学网站建设
  • 桐乡市建设局网站大通酩悦网站建网站建设网页
  • 基于php的网站开发设计竞价推广代理
  • 北京企业网站seo平台确山专业网站建设
  • 做网站运维永康做网站的公司
  • 济南软件网站建设找工程项目上哪个平台好呢
  • 淮安市哪里可以做网站沧州百度建设网站
  • iis6添加网站asp三层架构做网站
  • 做网站排名优化的公司肇东网站建设云聚达
  • 山西建设执业资格注册管理中心网站html5网页制作教学反思
  • 潍坊做网站个人工作室网站优化方案模板
  • 用asp做网站的流程湖北省住房与城乡建设部网站
  • 企业网站建设资金预算表购物网站开发的背景与意义
  • 建设网站要求哪里备案免费漫画网站
  • 做采集网站赚钱wordpress 删除数据库文件
  • 做网站的旅行社seo外链软件
  • 网站建设毕业设计总结设计上海2019
  • 宝塔可以做二级域名网站么做怎么样的网站好
  • soho外贸建站自建网络商城
  • 门户网站设计欣赏金华网站建设建设设计网站
  • 影视传媒公司网站模板百度搜索排名
  • 湛江在线制作网站网站开发维护招聘
  • 自己做网站小程序商城图标素材
  • 自主网站建设app软件定制平台
  • django 开放api 做网站wordPress如何上传swf
  • 视觉网站建设网站建设方法
  • 网站开发需要用到哪些软件网站5建设需要学什么时候开始