zoukankan      html  css  js  c++  java
  • 4--------mybatis------缓存

    缓存:

    就是你查询之后的数据,不会立马销毁,放在内存当中,下次你还来的时候,就直接用这个号了。

    一级缓存

    • 与数据库同一次会话期间查询到的数据会放在本地缓存中
    • 以后如果需要获取相同的数据,直接从缓存中拿,就没必要再去查了

    同一个SqlSession

    所以这两个查询,只用查询了一次

    但是中间经过了一次修改,一级缓存就失效了。

    二级缓存

    又名:全局缓存

    <settings>
            <setting name="cacheEnable" value="true"/>
     </settings>

    开启了全局缓存之后

    • 二级缓存也叫作全局缓存,一级缓存作用域太低
    • 基于namespace级别的缓存,一个名称空间,对应一个二级缓存
    • 工作机制:
      • 一个会话查询查询一条数据,这个数据就会被放在当前会话的一级缓存中;
      • 如果当前会话关闭了,这个会话对应的一级缓存就没了;但是我们想要的是,会话关闭了,一级缓存中的数据被保存到二级缓存中;
      • 新的会话查询信息,就可以从二级缓存中获取;
      • 不同的mapper查出的数据会放在自己对应的缓存中; 
  • 相关阅读:
    web总结
    工作总结
    python积累
    学习地图
    position:absolute绝对定位解读
    利用C++ RAII技术自动回收堆内存
    C++封装常用对象和对头文件探索
    String.split()方法你可能不知道的一面
    动态内存分配(new)和释放(delete)
    C#实现的异步Socket服务器
  • 原文地址:https://www.cnblogs.com/sicheng-li/p/13144612.html
Copyright © 2011-2022 走看看