zoukankan      html  css  js  c++  java
  • mybatis的缓存机制

    Mybatis提供了查询缓存来缓存数据,从而达到提高查询性能的要求

    mybatis的查询缓存分为一级缓存和二级缓存。

    1.一级缓存

    一级缓存是SqlSession级别的缓存

    二级缓存是mapper级别的。

    Mybatis通过缓存机制减轻数据压力

    在操作数据库时需要构建SqlSession对象,在对象中有一个HashMap用于存储缓存数据。

    当在同一个SqlSession中执行两次相同的sql语句时,第一次执行完毕会将数据库中查询的数据写到缓存,第二次查询会从缓存中获取数据,不再去底层数据库查询,从而提高查询效率。

    如果SqlSession执行了DML操作,并提交到数据库,Mybatis则会清空SqlSession中的一级缓存,不需要任何配置。

    2.二级缓存二级缓存是mapper级别的缓存。在使用二级缓存时,多个SqlSession使用同一个Mapper的sql语句去操作数据库,得到的数据会存到二级缓存。相比一级缓存SqlSession,二级缓存的范围更大,多个SqlSessionk可以共用二级缓存,二级缓存是跨SqlSession

  • 相关阅读:
    c#和unity引擎的所有笔记
    C#笔记(十九)——委托和事件
    委托
    c#笔记(十七)——队列
    js正则表达式
    mysql分页
    springMVC
    hibernate与spring整合实现transaction
    spring aop
    about hibernate lazy load and solution
  • 原文地址:https://www.cnblogs.com/cainame/p/10423756.html
Copyright © 2011-2022 走看看