首先整体看一下MyBatis中为我们提供的缓存功能相关的类:
MyBatis加载配置初始化二级缓存组件的流程:
查询获取缓存过程:
接着我们看一下CacheKey是如何正确找到对应缓存的
首先看CacheKey是怎么创建的
limit默认是Integer.MAX_VALUE
可以看到CacheKey主要由namspace+id,offset、limit、sql、请求参数和环境决定,
然后将这些参数进行hash计算,得出hash值。
接着就是判断CacheKey是否相等,为了确保准确性,mybatis做了多重校验。
mybatis源码系列(六)—— Cache模块
最新推荐文章于 2024-04-26 10:29:02 发布