Mybatis 源码分析2

上图是mybatis 3.4.5版本jar的 结构图,接下来这个系列会顺着这个包的模块进行源码分析。

目录

cache

cache.impl

cache.decorators


cache

(1)Cache

缓存的基本接口

(2)CacheException

定义缓存业务异常,继承自PersistenceException

(3)CacheKey

定义缓存的key

默认的hashcode是17

默认的乘积倍数是37

(4)NullCacheKey

继承自CacheKey ,不支持修改

(5)TransactionalCacheManager

事务缓存管理

维护缓存和事务缓存的映射关系

cache.impl

(1)PerpetualCache

持久化缓存

cache.decorators

下面的几种缓存都实现了Cache,适用于不同得场景。

采用装饰器设计模式

(1)BlockingCache

通过加锁的方式,定义了一个阻塞缓存

(2)FifoCache

先进先出

(3)LoggingCache

日志缓存,只要是记录请求缓存多少次,以及命中了多少次

(4)LruCache

最近做少使用算法缓存

(5)SchedualedCache

默认清除1小时以上的缓存

(6)SerializedCache

缓存的对象必须支持序列化

(7)SoftCache

软引用缓存,与垃圾回收相关

(8)SynchronizedCache

同步缓存,在基础方法前面加上了Synchronized关键字

(9)TransactionalCache

事务缓存

(10)WeakCache

弱引用缓存,与垃圾回收相关

猜你喜欢

转载自blog.csdn.net/u014209205/article/details/103489345