java项目性能优化(MyBatis中开启查询缓存及flushCache与useCache的使用)

在java项目中,如果需要大量的DB查询,导致缓存过多,项目运行缓慢,可以设置在select查询时,添加二级缓存的清空。

如果没有去配置flushCache、useCache,那么默认是启用缓存的。

1,flushCache默认为false,表示任何时候语句被调用,都不会去清空本地缓存和二级缓存。

2,useCache默认为true,表示会将本条语句的结果进行二级缓存。

在insert、update、delete语句时: flushCache默认为true,表示任何时候语句被调用,都会导致本地缓存和二级缓存被清空。 useCache属性在该情况下没有。update 的时候如果 flushCache="false",则当你更新后,查询的数据数据还是老的数据。

在Mapper的具体方法下设置对二级缓存的访问意愿:

复制代码
<select id="save" parameterType="XX" flushCache="true" useCache="false"> </select>

同时设置 flushCache="true" useCache="false"

那么就是,第一次查询后,清空二级缓存,并且以后都不会在缓存中保存数据。

参考资料:

[mybatis]缓存_缓存有关的设置以及属性

MyBatis中开启查询缓存及flushCache与useCache的使用

mybatis复习与总结(八)------缓存

相关推荐
笨手笨脚の21 分钟前
设计模式-迭代器模式
java·设计模式·迭代器模式·行为型设计模式
spencer_tseng1 小时前
Eclipse 4.7 ADT (Android Development Tools For Eclipse)
android·java·eclipse
聪明的笨猪猪2 小时前
Java Spring “AOP” 面试清单(含超通俗生活案例与深度理解)
java·经验分享·笔记·面试
seven97_top3 小时前
Springboot 常见面试题汇总
java·spring boot·后端
笨笨狗吞噬者3 小时前
【uniapp】体验优化:开源工具集 uni-toolkit 发布
性能优化·微信小程序·uni-app
小蕾Java3 小时前
Java 开发工具,最新2025 IDEA 使用,保姆级教程
java·开发语言·intellij-idea
刘登辉3 小时前
idea使用联网缓存的pom进行离线开发
java·ide·intellij-idea·离线开发
Автомата Калашникова3 小时前
Java操作.docx文档 —— docx4j
java·开发语言
hello 早上好4 小时前
深入 Spring 条件化配置底层:从硬编码到通用注解的实现原理
java·后端·spring
亚林瓜子4 小时前
Spring中Date日期序列化与反序列化中格式设置
java·后端·spring·jackson·date