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

cms网站模板下载服务机构电子商务网站有哪些

cms网站模板下载,服务机构电子商务网站有哪些,微信公众号素材网站,wordpress显示文章缩略图#x1f600;前言 本篇博文是关于MyBatis缓存的执行顺序#xff0c;希望能够帮助到您#x1f60a; #x1f3e0;个人主页#xff1a;晨犀主页 #x1f9d1;个人简介#xff1a;大家好#xff0c;我是晨犀#xff0c;希望我的文章可以帮助到大家#xff0c;您的满意是… 前言 本篇博文是关于MyBatis缓存的执行顺序希望能够帮助到您 个人主页晨犀主页 个人简介大家好我是晨犀希望我的文章可以帮助到大家您的满意是我的动力 欢迎大家这里是CSDN我总结知识的地方欢迎来到我的博客感谢大家的观看 如果文章有什么需要改进的地方还请大佬不吝赐教 先在次感谢啦 文章目录 Mybatis 的一级缓存和二级缓存执行顺序缓存-官方文档Mybatis 的一级缓存和二级缓存执行顺序测试代码实现运行结果 细节说明 总结 Mybatis 的一级缓存和二级缓存执行顺序 缓存-官方文档 文档地址: https://mybatis.org/mybatis-3/zh/sqlmap-xml.html#cache Mybatis 的一级缓存和二级缓存执行顺序 缓存执行顺序是二级缓存–一级缓存–数据库 说的再多不如眼见为实让我们用代码来证明吧 测试 代码实现 修改com\nlc\mapper\MonsterMapperTest.java 演示二级缓存-一级缓存-DB执行的顺序 Testpublic void cacheSeqTest() {System.out.println(查询第1次);//DB, 会发出SQL, 分析cache hit ratio 0.0Monster monster1 monsterMapper.getMonsterById(3);System.out.println(monster1);//这里关闭sqlSession, 一级缓存数据没有//当我们关闭一级缓存的时候如果你配置二级缓存,那么一级缓存的数据会放入到二级缓存sqlSession.close();sqlSession MyBatisUtils.getSqlSession();monsterMapper sqlSession.getMapper(MonsterMapper.class);System.out.println(查询第2次);//从二级缓存获取id3 monster , 就不会发出SQL, 分析cache hit ratio 0.5Monster monster2 monsterMapper.getMonsterById(3);System.out.println(monster2);System.out.println(查询第3次);//从二级缓存获取id3 monster, 不会发出SQL, 分析cache hit ratio 0.6666Monster monster3 monsterMapper.getMonsterById(3);System.out.println(monster3);if (sqlSession ! null) {sqlSession.close();}System.out.println(操作成功);}运行结果 查询第1次 Cache Hit Ratio [com.nlc.mapper.MonsterMapper]: 0.0 Opening JDBC Connection Created connection 527829831. Setting autocommit to false on JDBC Connection [com.mysql.jdbc.JDBC4Connection1f760b47]Preparing: SELECT * FROM monster WHERE id ?Parameters: 3(Integer)Columns: id, age, birthday, email, gender, name, salaryRow: 3, 51, 4015-09-12, qwrwdf.com, 1, 风衣精, 1965Total: 1 Monster{id3, age51, name风衣精, emailqwrwdf.com, birthdaySat Sep 12 00:00:00 CST 4015, salary1965.0, gender1} Resetting autocommit to true on JDBC Connection [com.mysql.jdbc.JDBC4Connection1f760b47] Closing JDBC Connection [com.mysql.jdbc.JDBC4Connection1f760b47] Returned connection 527829831 to pool. 查询第2次 Cache Hit Ratio [com.nlc.mapper.MonsterMapper]: 0.5 Monster{id3, age51, name风衣精, emailqwrwdf.com, birthdaySat Sep 12 00:00:00 CST 4015, salary1965.0, gender1} 查询第3次 Cache Hit Ratio [com.nlc.mapper.MonsterMapper]: 0.6666666666666666 Monster{id3, age51, name风衣精, emailqwrwdf.com, birthdaySat Sep 12 00:00:00 CST 4015, salary1965.0, gender1} 操作成功细节说明 不会出现一级缓存和二级缓存中有同一个数据。因为二级缓存(数据)是在一级缓存关闭之后才有的。看这段代码, 修改com\nlc\mapper\MonsterMapperTest.java , 不关闭一级缓存, 看看运行效果 //分析缓存执行顺序//二级缓存-一级缓存-DB//因为二级缓存(数据)是在一级缓存关闭之后才有的Testpublic void cacheSeqTest2() {System.out.println(查询第1次);//DB , 会发出 SQL, cache hit ratio 0.0Monster monster1 monsterMapper.getMonsterById(3);System.out.println(monster1);//这里我们没有关闭sqlSessionSystem.out.println(查询第2次);//从一级缓存获取id3 , cache hit ratio 0.0, 不会发出SQLMonster monster2 monsterMapper.getMonsterById(3);System.out.println(monster2);System.out.println(查询第3次);//还是从一级缓存获取id3, cache hit ratio 0.0, 不会发出SQLMonster monster3 monsterMapper.getMonsterById(3);System.out.println(monster3);if (sqlSession ! null) {sqlSession.commit();sqlSession.close();}System.out.println(操作成功);}运行效果, 可以看到在一级缓存存在的情况下依然是先查询二级缓存但是因为二级缓存没有数据, 所以命中率都是0.0 , 可以debug 下。 查询第1次 Cache Hit Ratio [com.nlc.mapper.MonsterMapper]: 0.0 Opening JDBC Connection Created connection 485845532. Setting autocommit to false on JDBC Connection [com.mysql.jdbc.JDBC4Connection1cf56a1c]Preparing: SELECT * FROM monster WHERE id ?Parameters: 3(Integer)Columns: id, age, birthday, email, gender, name, salaryRow: 3, 51, 4015-09-12, qwrwdf.com, 1, 风衣精, 1965Total: 1 Monster{id3, age51, name风衣精, emailqwrwdf.com, birthdaySat Sep 12 00:00:00 CST 4015, salary1965.0, gender1} 查询第2次 Cache Hit Ratio [com.nlc.mapper.MonsterMapper]: 0.0 Monster{id3, age51, name风衣精, emailqwrwdf.com, birthdaySat Sep 12 00:00:00 CST 4015, salary1965.0, gender1} 查询第3次 Cache Hit Ratio [com.nlc.mapper.MonsterMapper]: 0.0 Monster{id3, age51, name风衣精, emailqwrwdf.com, birthdaySat Sep 12 00:00:00 CST 4015, salary1965.0, gender1} Resetting autocommit to true on JDBC Connection [com.mysql.jdbc.JDBC4Connection1cf56a1c] Closing JDBC Connection [com.mysql.jdbc.JDBC4Connection1cf56a1c] Returned connection 485845532 to pool. 操作成功总结 缓存执行顺序是二级缓存–一级缓存–数据库二级缓存(数据)是在一级缓存关闭之后才有的。二级缓存和一级缓存都是为了提高检索效率的技术最大的区别就是作用域的范围不一样。一级缓存的作用域是sqlSession 会话级别,在一次会话有效而二级缓存作用域是全局范围针对不同的会话都有效。 热门专栏推荐 对缓存感兴趣的朋友可以看看博主的缓存篇– MyBatis缓存-提高检索效率的利器–一级缓存 MyBatis缓存-提高检索效率的利器–二级缓存 文章到这里就结束了如果有什么疑问的地方请指出诸大佬们一起来评论区一起讨论 希望能和诸大佬们一起努力今后我们一起观看感谢您的阅读 如果帮助到您不妨3连支持一下创造不易您们的支持是我的动力
http://www.zqtcl.cn/news/372609/

相关文章:

  • 长春门户网站建设制作上门做网站哪里有
  • 提卡网站建设西安成品网站建设
  • 广州做餐饮的招聘网站买毕业设计的网站
  • 涡阳网站建设网站开发工程师项目经验
  • 手机网站建站系统成都如何做网站
  • 安徽省住房和建设执业资格注册中心网站优质公司网站
  • 深圳福田做网站公司cname解析对网站影响
  • 做个网站要多久网站制作文案
  • 用户搭建网站wordpress代码实现头像
  • 和平区网站建设app和手机网站
  • 腾讯科技微信小程序电商seo是什么意思啊
  • 手机网站模板更换方法新闻客户端网站开发
  • 湛江定制建站黄页推广app软件
  • 盈利型网站做安卓app用什么软件
  • wordpress优秀移动站点西宁公司网站建设
  • 浙江网站建设的要求建设网上商城网站的目的和意义
  • 西峰住房和城乡建设局网站关于校园网站升级建设的报告
  • 网站怎么自适应屏幕大小达人室内设计网app
  • 做网站的软件名字全拼wordpress面包屑文字大小如何调整
  • 如何建设软件下载网站北京网站建设出名 乐云践新
  • 网站seo外包南宁网站建设活动
  • 汽车行业网站设计做互联网公司网站谈单模拟视频教学
  • 做网站界面设计注意什么江苏宿迁房产网
  • 传奇服务器网站如何建设帮人做兼职的网站
  • 织梦手机网站有广告位wordpress媒体库现实不全
  • 网站建设外包公司怎么样珠海网站排名提升
  • 电子商务网站建设结业论文做网站的图片字虚
  • 米拓建站最新进展注册做网站的公司有哪些
  • 设计网站设计wordpress 改系统
  • 学校网站建设评审会议通知网站是怎么赢利的