MyBatis支持的缓存刷新模式

本文涉及的产品
云原生数据库 PolarDB MySQL 版,Serverless 5000PCU 100GB
云原生数据库 PolarDB 分布式版,标准版 2核8GB
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
简介: MyBatis支持的缓存刷新模式

MyBatis 支持的缓存刷新模式包括:

默认模式(default):这是 MyBatis 的默认缓存刷新模式,不需要显式地指定。在该模式下,当某个语句对数据库进行了写操作时,会清空所有的二级缓存。

提交模式(commit):在该模式下,当某个语句对数据库进行了写操作并提交事务后,会清空所有的二级缓存。该模式比默认模式更加细粒度,可以避免频繁地清空缓存,但是会增加提交事务的开销。

定时刷新模式(interval):在该模式下,会定时地刷新二级缓存中的内容,以保证缓存数据的有效性。需要设置一个时间间隔,单位为毫秒,表示多长时间刷新一次。这种模式适用于数据更新不频繁的场景。

永不刷新模式(never):在该模式下,不会自动刷新二级缓存,只有手动调用 clearCache() 方法时才会清空缓存。这种模式适用于数据变化很少的场景。

可以在 MyBatis 的配置文件中通过 元素的 localCacheScope 属性来设置缓存的作用范围和缓存刷新模式,例如:

<settings>
  <setting name="localCacheScope" value="SESSION"/>
  <setting name="cacheEnabled" value="true"/>
  <setting name="flushCache" value="commit"/>
</settings>

在上面的例子中,localCacheScope 属性被设置为 SESSION,表示缓存的作用范围为会话级别。同时,cacheEnabled 属性被设置为 true,表示启用缓存功能。最后,flushCache 属性被设置为 commit,表示使用提交模式进行缓存刷新。

相关文章
|
8天前
|
XML 缓存 Java
MyBatis二级缓存解密:深入探究缓存机制与应用场景
MyBatis二级缓存解密:深入探究缓存机制与应用场景
41 2
MyBatis二级缓存解密:深入探究缓存机制与应用场景
|
1月前
|
存储 缓存 Java
什么!?实战项目竟然撞到阿里面试的原题!???关于MyBatis Plus的缓存机制
什么!?实战项目竟然撞到阿里面试的原题!???关于MyBatis Plus的缓存机制
|
1月前
|
缓存 Java 数据库连接
mybatis 数据库缓存的原理
MyBatis 是一个流行的 Java 持久层框架,它封装了 JDBC,使数据库交互变得更简单、直观。MyBatis 支持两级缓存:一级缓存(Local Cache)和二级缓存(Global Cache),通过这两级缓存可以有效地减少数据库的访问次数,提高应用性能。
282 1
|
1月前
|
存储 缓存 Java
【MyBaits】4、延迟加载、MyBatis 的缓存
【MyBaits】4、延迟加载、MyBatis 的缓存
22 0
|
2月前
|
Java 数据库连接 mybatis
结构性模式之---外观模式、MyBatis中Configuration的外观模式的使用分析
结构性模式之---外观模式、MyBatis中Configuration的外观模式的使用分析
33 1
|
2月前
|
存储 缓存 数据库
缓存模式
缓存模式
24 0
|
2月前
|
SQL 缓存 Java
mybatis缓存详解
mybatis缓存详解
22 0
|
1月前
|
缓存 NoSQL 安全
【Redis】缓存穿透
【Redis】缓存穿透
30 0
|
1月前
|
缓存 监控 NoSQL
解析Redis缓存雪崩及应对策略
解析Redis缓存雪崩及应对策略
|
1月前
|
存储 缓存 Java
【Spring原理高级进阶】有Redis为啥不用?深入剖析 Spring Cache:缓存的工作原理、缓存注解的使用方法与最佳实践
【Spring原理高级进阶】有Redis为啥不用?深入剖析 Spring Cache:缓存的工作原理、缓存注解的使用方法与最佳实践