• 缓存


    二十.一级缓存

    查询缓存的使用,主要是为了提高查询访问速度。将用户对同一数据的重复查询过程简化,不再每次均从数据库查询获取结果数据,从而提高访问速度。

    一.缓存的划分

    根据缓存区的作用域与生命周期课划分为:

    一级缓存(大配置文件setting节点name属性)

    二级缓存

    二.缓存说明

    MyBatis查询缓存的作用域是根据映射文件的namespace划分的,相同的namespacemapper查询数据放在同一个缓存区域。不同namespace下的数据互不干扰。

    无论是一级缓存还是二级缓存,都是按照namespace进行分别存放的。

    一级、二级缓存的不同之处在于,SqlSession一旦关闭,则SqlSession中的数据将不存在,即一级缓存就不复存在。而二级缓存的生命周期与整个应用同步,与SqlSession是否关闭无关。换句话说,一级缓存是在同一线程(同一SqlSession)间共享数据,而二级缓存是在不同线程(不同的SqlSession)间共享数据。

    三.一级缓存存在证明

    同一个会话(SqlSession)执行两次相同的SQL,观察控制台发送了几条SQL

     

    缓存的底层实现是一个MapMapkey是查询的依据,使用的ORM框架不同,查询依据也不同,Mybatis查询依据为SQLID+SQL语句,hibernate的为查询结果对象的ID

    四.增删改对一级缓存的影响

     

     

    五.一级缓存结论

    1. Mybatis框架天然集成一级缓存
    2. 一级缓存查询依据为SQLID+SQL语句
    3. 增删改会清空一级缓存

    二十一.二级缓存

    一.配置内置二级缓存

    1.在大配置文件中开启二级缓存,默认为开启

    2.Mapper小配置文件中,添加缓存标签<cache/>

     

    3.实体实现Serializable(标志接口:没有任何方法)

    4.测试

     

    二.增删改对二级缓存的影响

    增删改同样会清空二级缓存

     

    三.关闭刷新缓存(关闭后不再执行SQL查询)

    在增删改对应小配置节点内,加入flushCache值为false

     

     

     

     

    四.查询不应用缓存

    不应用缓存代表会再次发送SQL查询数据

     

     

     

    二十二.第三方缓存Ehcache

    1. 导入依赖
    2. <!-- https://mvnrepository.com/artifact/net.sf.ehcache/ehcache -->
      <dependency>
        <groupId>net.sf.ehcache</groupId>
        <artifactId>ehcache</artifactId>
        <version>2.10.4</version>
      </dependency>
      <!-- https://mvnrepository.com/artifact/org.mybatis.caches/mybatis-ehcache -->
      <dependency>
        <groupId>org.mybatis.caches</groupId>
        <artifactId>mybatis-ehcache</artifactId>
        <version>1.1.0</version>
      </dependency>

      1. 小配置文件制定缓存类
        1. resources下植入ehcache.xml文件
  • 相关阅读:
    软件测试工具
    nat 转发
    修改Oracle 10g Express Edition的字符集
    java数字证书学习笔记
    【Java–XML】JDOM解析XML字符串(非XML文档)
    JAVA Web快速开发部署(Javarebel实现真正高效的tomcat热部署)
    热天稀饭配方
    javascript 使用正则实现replaceall功能
    设置eclipse中各类型文件的默认浏览器(如设置flex的.mxml的编辑器为MXML Editor)
    GAE中JDO数据清除
  • 原文地址:https://www.cnblogs.com/wang01/p/11686978.html
Copyright © 2020-2023  润新知