您现在的位置是:首页 > 编程 > 

Mybatis学习:Mybatis缓存配置

2025-07-26 21:12:00
Mybatis学习:Mybatis缓存配置 MyBatis缓存配置数据库 一级缓存、二级缓存、缓存 一级缓存:在维持一个会话时,查询获取的数据会存放在一级缓存中,下次使用从缓存中获取。 (事务级缓存) 二级缓存:当会话关闭时,一级缓存的数据会保存在二级缓存中。 (应用级缓存) 缓存:可以实现跨jvm,通过远程调用的方式实现数据同步。 (查询缓存 如redis)二级缓存的使用场景:

Mybatis学习:Mybatis缓存配置

MyBatis缓存配置

数据库 一级缓存、二级缓存、缓存 一级缓存:在维持一个会话时,查询获取的数据会存放在一级缓存中,下次使用从缓存中获取。 (事务级缓存) 二级缓存:当会话关闭时,一级缓存的数据会保存在二级缓存中。 (应用级缓存) 缓存:可以实现跨jvm,通过远程调用的方式实现数据同步。 (查询缓存 如redis)

二级缓存的使用场景: 1.以查询为主的应用,尽可能少的增、删、改操作; 2.业务以单表操作为主; .表与表之间的关联尽可能少;

MyBatis如何配置二级缓存

第一步: 在mybatis-config.xml开启缓存 (默认是打开的)

代码语言:javascript代码运行次数:0运行复制
xml 代码解读复制代码<settings>
<setting name="cacheEnable" value="true"/>
</settings>

第二步:在映射文件中进行配置 由于Mybatis在每一对象映射配置单独选择缓存策略, 所以分为2种 Mapper.xml 或者 在接口中使用注解 Mapper.xml

代码语言:javascript代码运行次数:0运行复制
ini 代码解读复制代码<cache
eviction="FIFO"  #先进先出的收回策略
flushIntervak="6000"
size="512"
readOnly="true"   #返回对象只可读
/>

使用注解的情况下 在接口上配置

代码语言:javascript代码运行次数:0运行复制
ini 代码解读复制代码@Cacheamespace(
 eviction = , 
 flushInterval = 60000,
 size = 512,
 readWrite = false    #false只读 true读写
)
集成Redis缓存

特点:存取缓存使用了序列化和反序列 所以实体类要实现Serializable接口 第一步:添加项目依赖

代码语言:javascript代码运行次数:0运行复制
xml 代码解读复制代码<dependency>
<groupId></groudId>
<artifactId>mybatis-redis</artifactId>
<version>1.0.0-beta2</version>
</dependency>

第二步:配置redis参数:redis.properties

代码语言:javascript代码运行次数:0运行复制
ini 代码解读复制代码host=localhost
port=679
connectionTimeout=5000
soTimeout=5000
password=
database=0
clientame=

第三步 在mapping.xml中设置缓存类型

代码语言:javascript代码运行次数:0运行复制
ini 代码解读复制代码<mapper namespace="src.luo.MybatisMappings.UserMapper.xml" >
  <cache type=".redis.RedisCache"/>
</mapper>

#感谢您对电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格的认可,转载请说明来源于"电脑配置推荐网 - 最新i3 i5 i7组装电脑配置单推荐报价格

本文地址:http://www.dnpztj.cn/biancheng/1192134.html

相关标签:无
上传时间: 2025-07-23 00:22:57
留言与评论(共有 8 条评论)
本站网友 太原铁路局局长
4分钟前 发表
通过远程调用的方式实现数据同步
本站网友 bpbxd
2分钟前 发表
查询获取的数据会存放在一级缓存中
本站网友 epub360
28分钟前 发表
Mybatis学习:Mybatis缓存配置 MyBatis缓存配置数据库 一级缓存
本站网友 长春商标注册
11分钟前 发表
二级缓存
本站网友 小额贷款网
3分钟前 发表
一级缓存的数据会保存在二级缓存中
本站网友 铜掌柜
25分钟前 发表
readWrite = false #false只读 true读写 )集成Redis缓存特点:存取缓存使用了序列化和反序列 所以实体类要实现Serializable接口 第一步:添加项目依赖代码语言:javascript代码运行次数:0运行复制xml 代码解读复制代码<dependency> <groupId></groudId> <artifactId>mybatis-redis</artifactId> <version>1.0.0-beta2</version> </dependency>第二步:配置redis参数:redis.properties代码语言:javascript代码运行次数:0运行复制ini 代码解读复制代码host=localhost port=679 connectionTimeout=5000 soTimeout=5000 password= database=0 clientame=第三步 在mapping.xml中设置缓存类型代码语言:javascript代码运行次数:0运行复制ini 代码解读复制代码<mapper namespace="src.luo.MybatisMappings.UserMapper.xml" > <cache type=".redis.RedisCache"/> </mapper>
本站网友 大成基金肖剑
23分钟前 发表
readWrite = false #false只读 true读写 )集成Redis缓存特点:存取缓存使用了序列化和反序列 所以实体类要实现Serializable接口 第一步:添加项目依赖代码语言:javascript代码运行次数:0运行复制xml 代码解读复制代码<dependency> <groupId></groudId> <artifactId>mybatis-redis</artifactId> <version>1.0.0-beta2</version> </dependency>第二步:配置redis参数:redis.properties代码语言:javascript代码运行次数:0运行复制ini 代码解读复制代码host=localhost port=679 connectionTimeout=5000 soTimeout=5000 password= database=0 clientame=第三步 在mapping.xml中设置缓存类型代码语言:javascript代码运行次数:0运行复制ini 代码解读复制代码<mapper namespace="src.luo.MybatisMappings.UserMapper.xml" > <cache type=".redis.RedisCache"/> </mapper>