MyBatis的二级缓存整合redis

mybatis的二级缓存整合redismybatis自带的二级缓存存在的问题在前面我们使用at_cachenamespace​实现了mybatis的二级缓存这个底层使用hashmap​来实现。在单机环境下没有问题但是在分布式环境下就不行了。​​mybatis二级缓存在分布式环境下的问题解决为了解决这个问题可以使用分布式缓存保存mybatis二级缓存的数据。​​怎么自定义mybatis的二级缓存可以在at_cachenamespace​上面加上implementation例如默认的缓存可以写成_at_cac
阅读更多

MyBatis的二级缓存

mybatis的二级缓存二级缓存的原理二级缓存的原理和一级缓存一样第一次查询会将数据放到缓存中然后第二次查询直接去缓存读取。但是一级缓存是基于sqlsession的二级缓存是基于mapper的namespace的。也就是说多个sqlsession可以共享同一个二级缓存区域。如果两个mapper的namespace相同那么即使是两个mapper这两个mapper执行sql查询的数据也将保存在相同的二级缓存区域中。​如何使用二级缓存注意_user需要实现序列化接口。开启二级缓存和一级缓存不一样二级缓存需要手动
阅读更多

MyBatis缓存的概念

缓存回顾缓存就是内存中的数据常常来自对数据库查询结果的保存。使用缓存可以避免频繁与数据库交互进而提高响应速度。mybatis对缓存的支持mybatis也提供了对缓存的支持分为一级缓存和二级缓存。可以用下面的图来理解_​一级缓存是sqlsession级别的缓存。在操作数据库时需要构造sqlsession对象在对象中有一个hashmap的数据结构用于存储缓存数据。不同的sqlsession之间缓存的数据区域(hashmap)是不同的。二级缓存是mapper级别的缓存。多个sqlsession操作同一个mapp
阅读更多