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复习与总结(八)------缓存

相关推荐
indexsunny3 分钟前
互联网大厂Java面试实战:从Spring Boot到微服务架构的深度解析
java·spring boot·spring cloud·kafka·prometheus·security·microservices
qq_4101942920 分钟前
.net性能优化的步骤,前端、后端、数据库
性能优化·.net
ChoSeitaku30 分钟前
NO.2|proto3语法|消息类型|通讯录|文件读取|enum类型
java·服务器·前端
庞轩px42 分钟前
MinorGC的完整流程与复制算法深度解析
java·jvm·算法·性能优化
zhouping@44 分钟前
JAVA学习笔记day06
java·笔记·学习
毕设源码-郭学长1 小时前
【开题答辩全过程】以 某某协会管理与展示平台为例,包含答辩的问题和答案
java
多云的夏天1 小时前
docker容器部署-windows-ubuntu
java·docker·容器
庞轩px1 小时前
内存区域的演进与直接内存——JVM性能优化的权衡艺术
java·jvm·笔记·性能优化
编码忘我2 小时前
java多线程安全集合
java
悟空码字2 小时前
滑块拼图验证:SpringBoot完整实现+轨迹验证+Redis分布式方案
java·spring boot·后端