`

MyBatis:缓存使用及理解

 
阅读更多

一、MyBatis的Cache配置
1、全局开关:默认是true,如果它配成false,其余各个Mapper XML文件配成支持cache也没用。
<settings>
<setting name="cacheEnabled" value="true"/>
</settings>

2、各个Mapper XML文件,默认是不采用cache。在配置文件加一行就可以支持cache:
 <cache />


3、Mapper XML文件配置支持cache后,文件中所有的Mapper statement就支持了。此时要个别对待某条,需要:
<select id="inetAton" parameterType="string" resultType="integer" useCache=“false”>  
select inet_aton(#{name})
</select>

二、注意的几个细节
1、如果readOnly为false,此时要结果集对象是可序列化的。
<cache readOnly="false"/>

2、在SqlSession未关闭之前,如果对于同样条件进行重复查询,此时采用的是local session cache,而不是上面说的这些cache。

3、MyBatis缓存查询到的结果集对象,而非结果集数据,是将映射的PO对象集合缓存起来。

说意义不大是在于:
a、面对一定规模的数据量,内置的cache方式就派不上用场了;
b、对查询结果集做缓存并不是MyBatis框架擅长的,它专心做的应该是sql mapper。采用此框架的Application去构建缓存更合理,比如采用OSCache、Memcached啥的。

分享到:
评论

相关推荐

    mybatis-3.4.5

    5. **缓存机制**:MyBatis内置了本地缓存和二级缓存,可以有效地减少数据库的访问次数,提高系统性能。 6. **事务管理**:MyBatis支持手动和自动事务管理,可以根据项目需求选择合适的事务控制策略。 7. **插件...

    深入理解MyBatis中的一级缓存与二级缓存

    "深入理解MyBatis中的一级缓存与二级缓存" MyBatis是一种流行的持久层框架,它提供了缓存机制来提高应用程序的性能。在MyBatis中,有两种类型的缓存:一级缓存和二级缓存。下面我们将深入了解MyBatis中的一级缓存和...

    基于mybatis自定义缓存配置Redis

    首先,理解MyBatis的缓存机制。MyBatis提供了两级缓存:一级缓存是SqlSession级别的,存在于SqlSessionFactory内部,而二级缓存是全局的,可以在多个SqlSession之间共享。默认情况下,一级缓存是开启的,但二级缓存...

    深入探索MyBatis:全局配置文件解析及应用优化策略

    3. 使用缓存:MyBatis提供了一级缓存和二级缓存机制,根据业务需求启用和配置缓存,减少数据库访问。 4. 插件优化:通过自定义插件,可以实现如日志记录、性能监控等功能,提高应用的透明度和可调试性。 5. 动态SQL...

    Mybatis缓存机制案例

    在使用Mybatis缓存时,需要注意以下几点: 1. 数据一致性:由于缓存的存在,可能会导致数据的延迟更新,因此在处理实时性要求高的业务时,需要谨慎使用缓存。 2. 缓存命中率:合理的缓存策略可以提高缓存的利用率,...

    SpringMvc+Mybatis+缓存+easyui小demo

    在本项目"SpringMvc+Mybatis+缓存+easyui小demo"中,开发者通过集成SpringMVC、Mybatis、EasyUI以及缓存技术,创建了一个小型的Web应用程序示例。这个项目旨在帮助初学者理解这些关键技术的整合与应用,同时也提供了...

    mybatis二级缓存学习

    总结,MyBatis二级缓存是一项实用的性能优化技术,但使用时需注意其工作原理和潜在的问题,合理配置和管理才能发挥最大效能。通过理解和实践,我们可以更好地掌握这一工具,提高应用的运行效率。

    缓存处理-mybatis层

    首先,我们要理解MyBatis的缓存分为一级缓存和二级缓存。一级缓存是SqlSession级别的,也被称为本地缓存,它存储在SqlSession对象内部。当我们在同一个SqlSession内执行相同的SQL语句时,MyBatis会优先从一级缓存中...

    MyBatis源码分析.pdf

    MyBatis源码分析 MyBatis是一款流行的Java持久层...本文对MyBatis的源码进行了深入分析,总结了MyBatis的核心组件和工作机理,本文将帮助读者更好地理解MyBatis的工作机理,并且能够更好地使用MyBatis进行数据库访问。

    mybatis一级缓存和二级缓存简单示例

    MyBatis 是一款优秀的持久层框架,它支持...理解并合理运用 MyBatis 的缓存机制,能显著提高应用程序的性能,减少对数据库的访问压力。在实际开发中,要根据项目需求和环境来调整缓存策略,确保系统的稳定性和高效性。

    mybatis读缓存源码demo

    通过对“mybatis读缓存源码demo”的学习,你可以深入理解 MyBatis 的缓存机制,包括一级缓存和二级缓存的实现方式,以及如何在实际项目中配置和使用它们。这将有助于优化数据库访问性能,提升应用的整体效率。

    Mybatis的缓存1

    总之,Mybatis的一级缓存和二级缓存是提高数据访问效率的有效手段,但正确理解和使用它们至关重要,避免因不当配置引发的问题。通过深入理解缓存机制并结合实际业务需求,我们可以合理地利用缓存,提升系统的整体...

    Mybatis缓存测试示例

    Mybatis 是一款流行的Java持久层框架,它简化了数据库操作,通过XML或注解的方式将SQL与Java代码...通过这个测试示例,开发者不仅可以学习到Mybatis缓存的基本使用,还能了解到如何在实际项目中对其进行测试和调优。

    mybatis二级缓存

    标题中的“mybatis二级缓存”指的是MyBatis框架中的一个重要特性,它是MyBatis缓存机制的一部分,用于提升数据库查询效率。MyBatis一级缓存是SqlSession级别的,而二级缓存则是在整个Mapper配置范围内的全局缓存,...

    Mybatis系列教程Mybatis缓存共17页.pdf

    Mybatis 是一款流行的Java持久层框架,它简化了数据库操作,通过XML或注解的方式将SQL...本教程的17页内容将会详尽地讲解Mybatis缓存的各个方面,包括配置、使用示例以及最佳实践,帮助开发者更好地掌握这一关键特性。

    mybatis-3.4.6+中文用户指南

    《MyBatis中文用户指南》是学习和理解MyBatis框架的重要资源,它详细阐述了MyBatis的各个方面,包括安装、配置、基本使用、高级特性等,对于初学者和进阶者都非常有帮助。通过阅读这本书,你可以深入理解MyBatis的...

    MyBatis所需jar包 mybatis-3.4.5 整合spring可用

    MyBatis是一个流行的Java持久层框架,它简化了数据库操作,允许开发者将SQL查询直接映射到Java方法。在本文中,我们将深入探讨...在实际开发中,还可以考虑使用MyBatis的动态SQL、缓存等功能,进一步优化数据库访问。

    mybatis一二级缓存

    MyBatis 是一款深受开发者喜爱的 Java 持久层框架,它简化了数据库操作,提供了 SQL 映射功能和对象关系映射。...通过 `mybatis-test` 相关的测试代码,开发者可以深入理解 MyBatis 缓存机制并优化其使用。

    Mybatis-ehcache 1.2.1源码(ehcache-cache-mybatis-ehcache-1.2.1.zip)

    7. **Ehcache核心组件**:Ehcache内部包括了缓存管理器、缓存区域、缓存项、事件监听器等关键组件,理解它们在Mybatis-ehcache中的作用和交互。 通过阅读源码,我们可以深入理解Mybatis-ehcache如何利用Ehcache实现...

    mybatis-demo13-缓存.zip

    4. **在Mapper接口和XML中使用缓存**:在MyBatis的Mapper接口中,使用`@CacheNamespace`注解标记整个接口,以启用缓存。然后在具体的查询方法上使用`@CacheNamespaceRef`注解,指定使用哪个缓存区域。在对应的Mapper...

Global site tag (gtag.js) - Google Analytics