您现在的位置是:主页 > news > 潍坊网站建设服务跟/免费网络推广100种方法

潍坊网站建设服务跟/免费网络推广100种方法

admin2025/6/2 23:11:29news

简介潍坊网站建设服务跟,免费网络推广100种方法,企业网站功能模块,做兼职拍照片传网站前言 mybatis拥有自己的缓存,在缓存中他有三个重点: 一级缓存(局部缓存)二级缓存(全局缓存)自定义缓存 官网内容 缓存策略: 映射语句文件中的所有 select 语句的结果将会被缓存。映射语句文…

潍坊网站建设服务跟,免费网络推广100种方法,企业网站功能模块,做兼职拍照片传网站前言 mybatis拥有自己的缓存,在缓存中他有三个重点: 一级缓存(局部缓存)二级缓存(全局缓存)自定义缓存 官网内容 缓存策略: 映射语句文件中的所有 select 语句的结果将会被缓存。映射语句文…

前言

mybatis拥有自己的缓存,在缓存中他有三个重点:

  • 一级缓存(局部缓存)
  • 二级缓存(全局缓存)
  • 自定义缓存

官网内容

缓存策略:

  • 映射语句文件中的所有 select 语句的结果将会被缓存。
  • 映射语句文件中的所有 insert、update 和 delete 语句会刷新缓存
  • 缓存会使用最近最少使用算法(LRU, Least Recently Used)算法来清除不需要的缓存。
  • 缓存不会定时进行刷新(也就是说,没有刷新间隔)。
  • 缓存会保存列表或对象(无论查询方法返回哪种)的 1024 个引用。
  • 缓存会被视为读/写缓存,这意味着获取到的对象并不是共享的,可以安全地被调用者修改,而不干扰其他调用者或线程所做的潜在修改。

提示:(注解开发时)缓存只作用于 cache 标签所在的映射文件中的语句。如果你混合使用 Java API 和 XML 映射文件,在共用接口中的语句将不会被默认缓存。你需要使用 @CacheNamespaceRef 注解指定缓存作用域。

一级缓存

  • 一级缓存是默认开启的
  • 它是sqlSession级别的,不同的sqlSession之间的缓存数据区域(HashMap)是互相不影响的。 一级缓存的作用域是同一个SqlSession,也就是这个SqlSession关闭的话,这个缓存也会关闭
  • 本地缓存不能被关闭,可以调用clearCache()来清空本地缓存,或者改变缓存的作用域

二级缓存

  • 二级缓存是mapper级别的
  • 二级缓存是跨SqlSession的
  • 二级缓存必须得SqlSession关闭之后才会在内容

环境

  • 二级缓存是需要手动设置的
    <settings><!--开启全局缓存(二级),其实默认就是开启的--><setting name="cacheEnabled" value="true"/></settings>
  • 在需要开启缓存的xml中添加< cache/>标签

cache中有一些属性可以设置:
在这里插入图片描述

过程

  • 一个SqlSession产生一个一级缓存
  • 当这个SqlSession被关闭时,这个一级缓存也会失效
  • 如果有开启二级缓存的话,一级缓存失效后,其中的内容换被保存在二级缓存中
  • 新的SqlSession会从二级缓存中提取数据
  • 每个mapper都拥有自己的二级缓存