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

时尚网站设计案例如何做图片网站

时尚网站设计案例,如何做图片网站,智慧团建登录手机版入口,自助建站在线快速建站10、MyBatis的缓存 10.1、MyBatis的一级缓存 一级缓存是SqlSession级别的#xff0c;通过同一个SqlSession对象 查询的结果数据会被缓存#xff0c;下次执行相同的查询语句#xff0c;就 会从缓存中#xff08;缓存在内存里#xff09;直接获取#xff0c;不会重新访问…10、MyBatis的缓存 10.1、MyBatis的一级缓存 一级缓存是SqlSession级别的通过同一个SqlSession对象 查询的结果数据会被缓存下次执行相同的查询语句就 会从缓存中缓存在内存里直接获取不会重新访问数据库数据库在磁盘里也就是说就执行一次sql。一级缓存 默认开启。 使一级缓存失效的四种情况 不同的SqlSession对应不同的一级缓存 同一个SqlSession但是查询条件不同 同一个SqlSession两次查询之间执行了任意的增删改操作 。 因为任意一次增删改操作会清空所有SqlSession的所有缓存---为什么因为任意一次增删改可能会导致缓存的数据与增删改后的数据库中的数据不一致我们肯定要以数据库中的为准这是mybatis的机制自动完成清空缓存。 同一个SqlSession两次查询期间手动清空了缓存 sqlSession.clearCache();//手动清空一级缓存。一级缓存是sqlSession级别的 例子 10.2、MyBatis的二级缓存 二级缓存是SqlSessionFactory级别通过同一个SqlSessionFactory创建的SqlSession对象 查询的结果会被 缓存此后若再次执行相同的查询语句结果就会从缓存中获取 。二级缓存不是默认开启的开启需满足条件。 二级缓存开启的条件 a在核心配置文件中设置全局配置属性cacheEnabled“true”默认为true不需要设置 b在映射文件中设置标签 cache c二级缓存必须在SqlSession关闭或提交之后有效 d查询的数据所转换的实体类类型必须实现序列化的接口 使二级缓存失效的情况 两次查询之间执行了任意的增删改操作会使一级和二级缓存同时失效 咱自己创建的sqlSessionUtil工具类每调一次都新建一个SqlSessionFactory然后再新建一个sqlSession。要想测试二级缓冲可以自己直接写不使用工具类。 Testpublic void testCache2() throws IOException {InputStream is Resources.getResourceAsStream(mybatis-config.xml);//创建SqlSessionFactoryBuilder对象SqlSessionFactoryBuilder sqlSessionFactoryBuilder new SqlSessionFactoryBuilder();//通过核心配置文件所对应的字节输入流创建工厂类SqlSessionFactory生产SqlSession对象SqlSessionFactory sqlSessionFactory sqlSessionFactoryBuilder.build(is);SqlSession sqlSession1 sqlSessionFactory.openSession(true);CacheMapper mapper1 sqlSession1.getMapper(CacheMapper.class);Emp emp1 mapper1.getEmpByEmpId(1);sqlSession1.close();System.out.println(emp1);SqlSession sqlSession2 sqlSessionFactory.openSession(true);CacheMapper mapper2 sqlSession2.getMapper(CacheMapper.class);Emp emp2 mapper2.getEmpByEmpId(1);System.out.println(emp2);sqlSession2.close();} Emp要实现序列化 映射文件里要加一个cache标签10.3、二级缓存的相关配置 了解 在mapper配置文件中添加的cache标签可以设置一些属性 ①eviction属性缓存回收策略默认的是 LRU。 LRULeast Recently Used – 最近最少使用的移除最长时间不被使用的对象。 FIFOFirst in First out – 先进先出按对象进入缓存的顺序来移除它们。 SOFT – 软引用移除基于垃圾回收器状态和软引用规则的对象。 WEAK – 弱引用更积极地移除基于垃圾收集器状态和弱引用规则的对象。 ②flushInterval属性刷新间隔单位毫秒 默认情况是不设置也就是没有刷新间隔缓存仅仅调用语句时刷新 ③size属性引用数目正整数 代表缓存最多可以存储多少个对象太大容易导致内存溢出 ④readOnly属性只读 true/false true只读缓存会给所有调用者返回缓存对象的相同实例。因此这些对象不能被修改。这提供了 很重 要的性能优势。 false读写缓存会返回缓存对象的拷贝通过序列化。这会慢一些但是安全因此默认是 false。 10.4、MyBatis缓存查询的顺序 二级缓存的范围大于一级缓存的范围也就是说二级缓存中的数据要多于一级缓存中的。因为一个SqlSessionFactory可以对应多个SqlSession而一个一级缓存只对应一个SqlSession。但是SqlSession关闭之后一级缓存中的数据才会写入二级缓存所以当SqlSession还没有关闭时二级缓存中没有一级缓存中的一些数据此时二级缓存可能没被命中则查一级若一级没命中之前没有写入过一级缓存则查数据库 查询顺序2 --- 1 ---- 数据库 先查询二级缓存因为二级缓存中可能会有其他程序已经查出来的数据可以拿来直接使用。 如果二级缓存没有命中再查询一级缓存 如果一级缓存也没有命中则查询数据库 SqlSession关闭之后一级缓存中的数据才会写入二级缓存
http://www.tj-hxxt.cn/news/231380.html

相关文章:

  • 大数据培训班需要多少钱百度seo快速见效方法
  • 上海做网站的公Wordpress 新建标签
  • 做网站怎么排版好看最新新闻热点事件2022年
  • 西安企业免费建站装修加盟
  • 湖南营销型网站建设多少钱广州电子商务网站建设费用
  • 电子商务网站建设利益分析网站制作公司前十排名
  • 镇江网站建设案例杭州平面设计培训
  • 企业网站主页设计工作态度和责任心句子
  • 网站整合建设是啥意思网站建设十
  • 网站建设 金手指排名霸屏wordpress 购买会员
  • 重庆网站seo什么意思iis怎么做网站
  • 网站建设 开办费太仓seo网站优化软件
  • 网站制作好以后怎么管理网站建设要做ui和什么
  • 建设部网站取消园林资质用自己网站做邮箱域名解析
  • 网站验证码插件网站建设推荐郑国华
  • 佛山网站制作好处做地方行业门户网站需要什么资格
  • 外贸联系网站商标注册在哪个部门申请
  • 我的世界服务器网站怎么做上海做网站的多吗
  • 自建网站服务器降龙网络专业做网站
  • 网站建设+太原那个公司建设网站
  • wordpress不显示categoryseo优化工程师
  • 什么网站立刻买东西厦门城乡住房建设厅网站首页
  • 福州网站排名优化免费推广网站软件
  • 广州seo顾问最好用的系统优化软件
  • jsp网站建设论文上海红蚂蚁装潢设计有限公司
  • 哪些网站可以做画赚钱作品集制作网站
  • 做网站需要电脑吗天津市哪里有做网站的
  • 网站多大够用网站开发培训网站
  • 360神搜网站建设百度竞价产品
  • wordpress 建站群网页设计公司业绩介绍