zoukankan      html  css  js  c++  java
  • 缓存

    二十.一级缓存

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

    一.缓存的划分

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

    一级缓存(大配置文件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文件
  • 相关阅读:
    变量的创建和初始化
    HDU 1114 Piggy-Bank (dp)
    HDU 1421 搬寝室 (dp)
    HDU 2059 龟兔赛跑 (dp)
    HDU 2571 命运 (dp)
    HDU 1574 RP问题 (dp)
    HDU 2577 How to Type (字符串处理)
    HDU 1422 重温世界杯 (dp)
    HDU 2191 珍惜现在,感恩生活 (dp)
    HH实习 acm算法部 1689
  • 原文地址:https://www.cnblogs.com/wang01/p/11686978.html
Copyright © 2011-2022 走看看