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

股票配资网站建设中国建筑集团公司官网

股票配资网站建设,中国建筑集团公司官网,大连网站建设渠道,手机网站如何跳转文章目录 缓存-提高检索效率的利器缓存-官方文档二级缓存基本介绍二级缓存原理图 二级缓存快速入门快速入门注意事项和使用陷阱理解二级缓存策略的参数 四大策略如何禁用二级缓存mybatis 刷新二级缓存的设置 缓存-提高检索效率的利器 缓存-官方文档 文档地址: https://mybati… 文章目录 缓存-提高检索效率的利器缓存-官方文档二级缓存基本介绍二级缓存原理图 二级缓存快速入门快速入门注意事项和使用陷阱理解二级缓存策略的参数 四大策略如何禁用二级缓存mybatis 刷新二级缓存的设置 缓存-提高检索效率的利器 缓存-官方文档 文档地址: https://mybatis.org/mybatis-3/zh/sqlmap-xml.html#cache 二级缓存 基本介绍 二级缓存和一级缓存都是为了提高检索效率的技术。最大的区别就是作用域的范围不一样一级缓存的作用域是sqlSession 会话级别,在一次会话有效而二级缓存作用域是全局范围针对不同的会话都有效。 二级缓存原理图 二级缓存快速入门 快速入门 mybatis-config.xml 配置中开启二级缓存 !--引入外部的jdbc.properties--properties resourcejdbc.properties/!--配置MyBatis自带的日志输出-查看原生的sql--settingssetting namelogImpl valueSTDOUT_LOGGING/!--1、全局性地开启或关闭所有映射器配置文件中已配置的任何缓存, 可以理解这是一个总开关2、默认就是: true--setting namecacheEnabled valuetrue//settings使用二级缓存时entity 类实现序列化接口(serializable)因为二级缓存可能使用到序列化技术。不一定要实现只是有的外部缓存需要。 在对应的XxxMapper.xml 中设置二级缓存的策略 ?xml version1.0 encodingUTF-8 ? !DOCTYPE mapperPUBLIC -//mybatis.org//DTD Mapper 3.0//ENhttp://mybatis.org/dtd/mybatis-3-mapper.dtd!--解读 1. 这是一个mapper xml 文件 2. 该文件可以去实现对应的接口的方法 3. namespace 指定该xml文件和哪个接口对应!!! -- mapper namespacecom.nlc.mapper.MonsterMapper!--1、配置二级缓存 是mybatis自带2、FIFO – 先进先出按对象进入缓存的顺序来移除它们。3. flushInterval 刷新间隔 是毫秒单位 60000 表示 60s4. size512: 引用数目, 属性可以被设置为任意正整数, 默认10245. readOnlytrue: (只读属性可以被设置为 true 或 false: 如果我们只是用于读操作,建议设置成 true, 这样可以提示效率, 如果有修改操作设置成 false, 默认就是false--cache evictionFIFO flushInterval60000 size512 readOnlytrue//mapper修改MonsterMapperTest.java , 完成测试 //测试二级缓存的使用Testpublic void level2CacheTest() {//查询id3的monsterMonster monster monsterMapper.getMonsterById(3);System.out.println(monster monster);//这里关闭sqlSessionif (sqlSession ! null) {sqlSession.close();}//重新获取sqlSessionsqlSession MyBatisUtils.getSqlSession();//重新获取了monsterMappermonsterMapper sqlSession.getMapper(MonsterMapper.class);//再次查询id3的monsterSystem.out.println(--虽然前面关闭了sqlSession,因为配置二级缓存, 当你再次查询相同的id时, 依然不会再发出sql, 而是从二级缓存获取数据----);Monster monster2 monsterMapper.getMonsterById(3);System.out.println(monster2 monster2);Monster monster3 monsterMapper.getMonsterById(3);System.out.println(monster3 monster3);if (sqlSession ! null) {sqlSession.close();}}注意事项和使用陷阱 理解二级缓存策略的参数 cache evictionFIFO flushInterval30000 size360 readOnlytrue/上面的配置意思如下 创建了FIFO 的策略每隔30 秒刷新一次最多存放360 个对象而且返回的对象被认为是只读的。 eviction缓存的回收策略 flushInterval:时间间隔单位是毫秒 size引用数目内存大就多配置点要记住你缓存的对象数目和你运行环境的可用内存 资源数目。默认值是1024 readOnly:true,只读 四大策略 √ LRU – 最近最少使用的:移除最长时间不被使用的对象它是默认 √ FIFO – 先进先出:按对象进入缓存的顺序来移除它们。 √ SOFT – 软引用:移除基于垃圾回收器状态和软引用规则的对象。 √ WEAK – 弱引用:更积极地移除基于垃圾收集器状态和弱引用规则的对象。 如何禁用二级缓存 一、修改resources\mybatis-config.xml settingssetting namelogImpl valueSTDOUT_LOGGING/!--全局性地开启或关闭所有映射器配置文件中已配置的任何缓存, 默认就是true--setting namecacheEnabled valuefalse/ /settings​ 二、修改mapper\MonsterMapper.xml取消缓存 !--cache evictionFIFO flushInterval30000 size360 readOnlytrue/--​ 三、或者更加细粒度的, 在配置方法上指定useCache“false” 设置useCachefalse 可以禁用当前select 语句的二级缓存即每次查询都会发出sql 去查询默认情况是true即该sql 使用二级缓存。 注意一般我们不需要去修改使用默认的即可。 mybatis 刷新二级缓存的设置 可以在实现方法上配置刷新缓存flushCache“true” update idupdateMonster parameterTypeMonster flushCachetrue UPDATE mybatis_monster SET NAME#{name},age#{age} WHERE id#{id} /updateinsert、update、delete 操作数据后需要刷新缓存如果不执行刷新缓存会出现脏读。 默认为true默认情况下为true 即刷新缓存一般不用修改。
http://wiki.neutronadmin.com/news/415190/

相关文章:

  • 网站建设支出账务处理flash在线制作网站
  • 网站编辑知识开发微信公众号需要多少钱
  • 设计网站如何推广企业网站脚本语言
  • 如何建设一个专业的网站公司域名备案全部过程
  • 网站建设的用途是什么意思网页设计实训总结心得体会
  • 广州优秀网站设计瑞安网站建设优化推广
  • seo在线优化工具seo就业前景
  • 建行网站网址云南网站建设ynsudong
  • 齐全的赣州网站建设中国农村建设投资有限公司网站首页
  • 网站建设指南 菜鸟教程怎么做私人网站
  • 甘肃肃第八建设集团网站太原自动seo
  • 仿西部数码网站网站是否含有seo收录功能
  • 统计网站建设丢了么网站
  • 2狠狠做网站app定制系统开发
  • dw可以做h5网站可以加速网页的加速器
  • 成都电子网站建设做网站有什么要求
  • 手机数码网站专业建设网站企业
  • 网站建设合同通用范本qq邮件网站建设的模块
  • 棋牌游戏网站模板app推广专员好做吗
  • 非常好的资讯网站设计上海电子手工活外发加工网
  • 如何建设手机网站设计企业
  • 做网站不用服务器做网站推广员必备的条件
  • 外贸网站虚拟空间泰安人才网首页
  • 建站目的公众号开发者权限怎么开
  • 设计的有趣的网站推荐新闻热点事件2022
  • 企业解决方案提供商seo搜索引擎优化公司
  • seo在线优化网站昆明建设网站哪家好
  • wordpress 企业网站 授权费dw网站建设的心得体会
  • 建设学院网站的通知怎么做提升网站转化率
  • 秦皇岛网站关键词推广全球十大营销策划公司