mybatis 二级缓存使用

在配置文件加代码

<settings>
<!--这个配置使全局的映射器(二级缓存)启用或禁用缓存,全局总开关,这里关闭,mapper中开启了也没用-->
<setting name="cacheEnabled" value="true"/>
</settings>

在需要使用二级缓存的xml文件中添加:
<!--使用二级缓存-->
<cache eviction="LRU" flushInterval="100000" size="1024" readOnly="true"/>


在mybatis中 commit只能刷新一级缓存
在select 标签后面添加代码:flushCache="true" 可以刷新二级缓存

mybatis 中的二级缓存以及一级缓存的优先级

优先查找二级缓存其次找一级缓存最后查找数据库

程序刚开始执行,一级缓存,二级缓存中均没有数据,通过查找数据库,一级缓存就存在了数据,注意此时的二级缓存仍然没数据,通过commit操作会将一级缓存的数据存放到

二级缓存中,之后再清空一级缓存,这样使用一次commit二级缓存就会拥有数据,一级缓存就会被清空,再次使用同样的sql查询时,会优先查看二级缓存是否拥有想要查询的数据。
posted @ 2021-11-21 22:46  智慧搬运工  阅读(185)  评论(0)    收藏  举报