MyBatis:二级缓存

骑猪看日落 2022-06-02 09:10 422阅读 0赞

基本知识:

分类:

  1. 内置二级缓存(其主要任务是映射)
  2. 外置第三方产品

内置二级缓存:

开启方法:

  1. 在映射文件中添加标签
  2. 操作的实体类实现serializabel接口

MyBatis:二级缓存

映射文件

MyBatis:二级缓存

实现接口

底层工作原理:二级缓存底层也是map,key(hashCode+StatementId+

增删改对二级缓存的影响:会刷新二级缓存,但和一级不同的是将value置为null,并未删除整个Entry对象,即key仍旧保留

关闭一级缓存对二级缓存的影响:在增删改的statement中添加flushCache=”false”

MyBatis:二级缓存

二级缓存的配置:

  • size:内置二级缓存可以存放多少个查询结果,默认1024
  • eviction:逐出策略
  • flushInterval:刷新二级缓存的时间间隔

MyBatis:二级缓存

使用原则:

  • 不要出现多个namespace操作一张表的情况
  • 对关联关系不要出现增删改操作
  • 当查询操作多于增删改操作时就可以使用二级缓存

EHCache二级缓存:

开启方式:

下载并导入jar包(mybatis-ehcache-1.0.3.jar和ehcache-core-2.6.8.jar)

在映射文件中添加

MyBatis:二级缓存

导包

MyBatis:二级缓存

映射文件

关闭方式:

  • 局部性关闭:

发表评论

表情:
评论列表 (有 0 条评论,422人围观)

还没有评论,来说两句吧...

相关阅读

    相关 MyBatis二级缓存

    基本知识: 分类: 1. 内置二级缓存(其主要任务是映射) 2. 外置第三方产品 内置二级缓存: 开启方法: 1. 在映射文件中添加<cache/>标签