知识点:mybatis缓存相关的设置和属性

重点:每次执行增删改操作后,一二级缓存被清空,是因为标签设置默认属性为 flushCache="true"

(1)

<!-- 全局映射器启用缓存 -->
<setting name="cacheEnabled" value="true"/>
中的 cacheEnabled:false 关闭二级缓存(一级缓存是可用的) (2) mapper.xml中每个select标签都有一个useCache="true",为false时,不使用缓存(一级缓存依然可以使用,二级缓存不能使用)
如果,设置单个select标签不使用二级缓存,可设置 useCache="false" (3) a.每个增删改标签有:都有 flushCache="true" 默认为true
所以每次增删改执行完成,会清除缓存,一级缓存清空,二级缓存也会被清空
b.查询标签 flushCache="false" 默认为false
如果设置 flushCache="true" ,每次查询之后都会清空缓存,缓存是没有被使用的 (4)sqlSession.clearCache():只是清除session的一级缓存,二级缓存不清除
(5)<setting name="localCacheScope" value="SESSION"/>
localCacheScope:本地缓存作用域(一级缓存SESSION),当前会话的所有数据会保存在会话缓存中
value=" STATEMENT":可以禁用一级缓存

mybatis缓存有关的设置和属性的更多相关文章

  1. 使用MyBatis缓存

    (1).为什么需要使用缓存:: MyBatis是一个持久层(数据库层)映射框架,在所有访问数据库的操作中,无疑数据查询是最耗费数据库资源的操作了,因为你一次可能需要查询成千上百万条记录(如果你不加限制 ...

  2. MyBatis学习总结(四)——MyBatis缓存与代码生成

    一.MyBatis缓存 缓存可以提高系统性能,可以加快访问速度,减轻服务器压力,带来更好的用户体验.缓存用空间换时间,好的缓存是缓存命中率高的且数据量小的.缓存是一种非常重要的技术. 1.0.再次封装 ...

  3. mybatis缓存机制

    目录 mybatis缓存机制 Executor和缓存 一级缓存 小结 二级缓存 小结 mybatis缓存机制 mybatis支持一.二级缓存来提高查询效率,能够正确的使用缓存的前提是熟悉mybatis ...

  4. mybatis缓存(一,二级别)

    数据查找过程: 二级缓存(默认关闭) -> 一级缓存(默认开启) -> 数据库 一级缓存: 一级缓存是SqlSession自带的.SqlSession对象被创建,一级缓存就存在了.//是针 ...

  5. Mybatis系列(四):Mybatis缓存

    一.MyBatis缓存介绍 MyBatis 提供了一级缓存和二级缓存的支持        1. 一级缓存: 默认开启,基于PerpetualCache 的 HashMap本地缓存,其存储作用域为 Se ...

  6. MyBatis缓存通俗易懂

    1.1     mybatis缓存介绍 如下图,是mybatis一级缓存和二级缓存的区别图解: Mybatis一级缓存的作用域是同一个SqlSession,在同一个sqlSession中两次执行相同的 ...

  7. Mybatis缓存(二)

    Mybatis的二级缓存 1.二级缓存的范围  1. 二级缓存是Mapper级别的缓存.  2. 二级缓存的结构也是一个HashMap.  3. 不同的SqlSession对象去操作同一个mapper ...

  8. Mybatis(三):MyBatis缓存详解

    MyBatis缓存分为一级缓存和二级缓存 一级缓存 MyBatis的一级缓存指的是在一个Session域内,session为关闭的时候执行的查询会根据SQL为key被缓存(跟mysql缓存一样,修改任 ...

  9. 分享知识-快乐自己:Mybatis缓存机制

    论缓存机制: 1):mybatis 提供了缓存机制减轻数据库压力,提高数据库性能. 2):mybatis 的缓存分为两级:一级缓存.二级缓存 3):一级缓存是SqlSession级别的缓存,缓存的数据 ...

随机推荐

  1. Enables DNS lookups on client IP addresses

    w虚拟域名访问,路由可以到达,但无输出. http://httpd.apache.org/docs/2.2/mod/core.html#hostnamelookups

  2. 【推荐】CentOS安装Subversion-1.8.17+HTTP协议支持配置

    注:以下所有操作均在CentOS 6.5 x86_64位系统下完成. 我们需要搭建一个自己的SVN服务器. 此外,搭建好的SVN服务器除了需要支持svn协议外,最好还需要支持HTTP协议和HTTPS协 ...

  3. MySQL exists 和 not exists 的用法

    有一个查询如下: 1 SELECT c.CustomerId, c.CompanyName   2 FROM Customers c   3 WHERE EXISTS(   4     SELECT  ...

  4. Exception in thread "main" java.lang.UnsupportedClassVersionError: * : Unsupported major.minor version 52.0 解决办法

    Exception in thread "main" java.lang.UnsupportedClassVersionError: * : Unsupported major.m ...

  5. Robberies---hdu2955(概率dp,01背包)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2955 题目给了每个银行的钱和被抓的概率,由于要抢尽量多的钱,所以要保证尽量不被抓,而抢多个银行之后不被 ...

  6. Shiro出现的问题

    报错java.lang.IllegalArgumentException: Line argument must contain a key and a value.  Only one string ...

  7. Linux touch命令

    touch命令不常用,一般用于更改文件时间戳,或创建一个空文件 命令选项 -a:只更改访问时间 -c:--no-create 不创建任何文件 -d:--date=字符串 使用指定字符串表示时间而非当前 ...

  8. sql server常用性能计数器

    https://blog.csdn.net/kk185800961/article/details/52462913?utm_source=blogxgwz5 https://blog.csdn.ne ...

  9. Zabbix基本功能使用手册

    Zabbix基本功能使用手册 vim /etc/zabbix/zabbix_agentd.conf 编辑agent配置文件. 指定那些服务器可以来获取数据,可用逗号隔开指定多台服务器. 这个参数表示a ...

  10. nodejs获取参数的方法

    1 获取get的querystring参数 GET /test?name=fred&tel=0926xxx572 let aa = req.param("name"); l ...