【ssm_kaoshi_person项目,ssm_layui_smbms项目】
- 一级缓存(也称为本地缓存)、二级缓存(也称为全局缓存)的缓存粒度都是整个结果集,而非结果集中的单条记录。
- 一级缓存、二级缓存都是使用map存储数据。
- 一级缓存存在时间短,没有设置map的容量限制。
- 二级缓存存在时间长,可在mapper.xml中定义<cache />标签来指定map的容量和清除策略。二级缓存和应用共存,但是调用mapper的增删改方法时可能会刷新缓存(通过设置flushCache属性为true/false来控制)、且二级缓存达到容量限制时会自动清除部分数据。
- 一级缓存默认开启,生命周期很短,一般不存在数据读写问题,但基本没啥用(仅在使用事务时有用)。
- 二级缓存默认关闭,生命周期很长,容易产生脏读问题,不建议使用。
MyBatis一级缓存:
Mybatis对缓存提供支持,但是在没有配置的默认情况下,它只开启一级缓存,一级缓存只是相对于同一个Sql

订阅专栏 解锁全文
303

被折叠的 条评论
为什么被折叠?



