ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

mybatis缓存机制

2026/10/1 1:49:48 拓冰建站 浏览量
mybatis缓存机制

一级缓存(SqlSession会话级别缓存)

默认开启,建议自行关闭。

问题:

1、大型分布式系统、小公司多实例部署同一台机器建议关闭一级缓存,产生脏读,读旧值情况比较大。

二级缓存(命名空间缓存,可以跨会话级别)

问题:

默认不开启,开发管控

1、大型分布式系统、小公司多实例部署同一台机器建议不要开启二级缓存,多表join场景下,有的表可以读到最新的值,但有的表会读到以前的缓存,同样会出现脏读场景。

经验:二级缓存性能很好,但是对开发者有一定的要求,这个要求就是在撰写mapper时候,一定要保证在命名空间里面的单表查询,一切join表场景全部避免,这样可以有效避免脏读场景。

三级缓存(SessionFactory级别缓存,跨应用)

开发自定义选择使用第三方(Redis、guava)