- 0
- 0
- 约1.63千字
- 约 2页
- 2026-10-13 发布于北京
- 举报
问题:
Mybatis的一级、二级缓存使用场景和失效策略
Mybatis一级缓存
简介:一级缓存的作用域是SQLSession,同一个SqlSession中执行相同的SQL查询(相同的
SQL和参数),第一次会查询数据库并写入缓存,第二次直接从缓存中获取。基于
PerpetualCache的HashMap本地缓存,默认开启一级缓存。失效策略:当执行SQL时,若
两次查询中间发生增删改操作(即insert、update、delete等),commit后会清空该
SQLSession缓存;例如sqlsession关闭或手动清空缓存。
Mybatis二级缓存
简介:二级缓存是namespace级别的,多个SqlSession操作同一namespace下Mapper的sql
语句时,可共用二级缓存,若两个mapper的namespace相同(即使分属不同mapper),其
查询结果将存于同一二级缓存区域(最终按Mapper名称空间区分)。基于PerpetualCache
的HashMap本地缓存,可自定义源如Ehcache/Redis,默认关闭二级缓存。操作流程:
首
原创力文档

文档评论(0)