MyBatis:二级缓存
基本知识:
分类:
- 内置二级缓存(其主要任务是映射)
- 外置第三方产品
内置二级缓存:
开启方法:
- 在映射文件中添加
标签 - 操作的实体类实现serializabel接口
映射文件
实现接口
底层工作原理:二级缓存底层也是map,key(hashCode+StatementId+
增删改对二级缓存的影响:会刷新二级缓存,但和一级不同的是将value置为null,并未删除整个Entry对象,即key仍旧保留
关闭一级缓存对二级缓存的影响:在增删改的statement中添加flushCache=”false”
二级缓存的配置:
- size:内置二级缓存可以存放多少个查询结果,默认1024
- eviction:逐出策略
- flushInterval:刷新二级缓存的时间间隔
使用原则:
- 不要出现多个namespace操作一张表的情况
- 对关联关系不要出现增删改操作
- 当查询操作多于增删改操作时就可以使用二级缓存
EHCache二级缓存:
开启方式:
下载并导入jar包(mybatis-ehcache-1.0.3.jar和ehcache-core-2.6.8.jar)
在映射文件中添加
导包
映射文件
关闭方式:
- 局部性关闭:在
还没有评论,来说两句吧...