美文网首页
mybatis一级缓存、二级缓存

mybatis一级缓存、二级缓存

作者: p7878389 | 来源:发表于2017-12-14 10:09 被阅读0次

    mybatis一级缓存的作用域是同一个SqlSession,在同一个sqlSession中两次执行相同的sql语句,第一次执行完毕会将数据库中查询的数据写到缓存(内存),第二次会从缓存中获取数据将不再从数据库查询,从而提高查询效率

    mybatis二级缓存是mapper级别的缓存,根据 mapper的namespace+sqlId作为key缓存数据,二级缓存是跨session的

    一级缓存:

                        1、客户端获取sqlsession链接,执行查询sql,首先判断sqlsession中是否存在缓存数据,不存在则执行查询sql,存在则直接返回缓存数据;

                        2、在同一个sqlsession下,执行insert、update、remove,commit时会清空缓存的数据,防止脏读

    二级缓存:

                        1、多个sqlsession共享一个mapper的二级缓存区

                        2、可以配合使用第三方缓存框架

    相关文章

      网友评论

          本文标题:mybatis一级缓存、二级缓存

          本文链接:https://www.haomeiwen.com/subject/qauhwxtx.html