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

相关推荐
007php0071 天前
某游戏大厂的常用面试问题解析:Netty 与 NIO
java·数据库·游戏·面试·职场和发展·性能优化·nio
北城以北88881 天前
SSM--MyBatis框架之动态SQL
java·开发语言·数据库·sql·mybatis
霸道流氓气质1 天前
Java中Stream应用场景示例-订单报表分组统计
java
程序员烧烤1 天前
【Java基础14】函数式接口、lamba表达式、方法引用一网打尽(下)
java·开发语言
spencer_tseng1 天前
pinyin4j-2.5.0.jar
java·jar·pinyin4j
ZhengEnCi1 天前
J1B-为什么99%的人配置Java环境失败?大厂开发者5分钟搞定的JDK安装与环境配置完全指南
java
零雲1 天前
java面试:有了解过kafka架构吗,可以详细讲一讲吗
java·面试·kafka
一行•坚书1 天前
kafka服务端与客户端如何协作?生产者发送消息分区策略是什么?消费者组分区策略?集群与ACK机制?
java·后端·kafka
serve the people1 天前
Prompt Composition with LangChain’s PipelinePromptTemplate
java·langchain·prompt
天天摸鱼的java工程师1 天前
干掉系统卡顿!Excel异步导出完整实战方案(百万数据也不慌)
java·后端