首页 > 其他 > 详细

Mybatis_23_Mybatis一级缓存

时间:2021-05-08 23:11:50      阅读:25      评论:0      收藏:0      [点我收藏+]

Mybatis一级缓存

* 一级缓存也叫本地缓存(SqlSession级别的缓存,从SqlSession开启到SqlSession结束中间的数据会被缓存起来)

   - 与数据库同一次会话期间查询到的数据会放在本地缓存中,以后如果需要相同的数据直接在缓存中查询,不必再去数据库中查询。

* 一级缓存是默认开启的。适用于同一个用户一直刷新同一个界面,这种情况下一级缓存比较适用,不用每次刷新都去数据库中查询了。

* 但是每个用户访问都会开启一个SqlSession,而一级缓存的有效范围是在一个SqlSession开启和关闭之间,范围较小,只适用于一个用户,不适用于跨用户访问,所以需要二级缓存。


* 缓存情况:

    - mapper.xml 映射语句文件中的所有 select 语句的结果将会被缓存。

    - mapper.xml 映射语句文件中的所有 insert、update 和 delete 语句会刷新缓存。(代表已存在的缓存将会失效)

    - 缓存默认使用最近最少使用算法(LRU, Least Recently Used)来清除不需要的缓存。(默认LRU清除缓存算法,把最少使用的缓存清理掉)

    - 缓存不会定时进行刷新(也就是说,没有刷新间隔)。

    - 缓存会保存列表或对象(无论查询方法返回哪种)的 1024 个引用。

    - 缓存会被视为读/写缓存,这意味着获取到的对象并不是共享的,可以安全地被调用者修改,而不干扰其他调用者或线程所做的潜在修改。

Mybatis_23_Mybatis一级缓存

原文:https://www.cnblogs.com/szqengr/p/14745636.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!