MyBatis 自带的二级缓存存在的问题 在前面我们使用 @CacheNamespace 实现了 430.MyBatis的二级缓存 ,这个底层使用 HashMap 来实现。在 单机环境 下没有问题,但是在 分布式环境 下就不行了。 MyBatis 二级缓存在分布式环境下的问题解决 为了解决...
MyBatis的二级缓存
二级缓存的原理 二级缓存的原理和一级缓存一样,第一次查询会将数据放到缓存中,然后第二次查询直接去缓存读取。 但是一级缓存是基于 SqlSession 的,二级缓存是基于 mapper 的 namespace 的。 也就是说,多个 SqlSession 可以共享同一个二级缓存区域。如果两个 mappe...
MyBatis缓存的概念
缓存回顾 缓存就是内存中的数据,常常来自对数据库查询结果的保存。 使用缓存可以避免频繁与数据库交互,进而提高响应速度。 MyBatis 对缓存的支持 MyBatis 也提供了对缓存的支持,分为 一级缓存 和 二级缓存。可以用下面的图来理解: 一级缓存是 SqlSession 级别的缓存。在操作数...