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

相关推荐
Sarvartha3 小时前
final 关键字
java·开发语言
2601_952047793 小时前
单一策略深度教程:用轻易云把集成任务的报错实时推送到钉钉机器人
java·机器人·钉钉
数据狐(Datafox)4 小时前
淘宝图片搜索 API 落地实战:基于以图搜货搭建跨境电商选品系统
java·大数据·微服务
Escalating_xu6 小时前
【C 语言】数据在内存中的存储:补码、大小端、整型陷阱与 IEEE 754 全解析
java·c语言·网络
灯澜忆梦6 小时前
【面向对象编程C++】| 基础语法
java·c++·算法
一个风轻云淡6 小时前
GCC 和 GDB命令简单解读
java·linux·前端
省钱兄--zs6 小时前
西安24小时自助健身房解决方案实战:系统开发与部署全流程指南
java·spring boot·系统架构·intellij-idea·需求分析
资料库016 小时前
Linux 8个常见运维故障排查
java·linux·运维