IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> mybatis缓存 -> 正文阅读

[Java知识库]mybatis缓存

缓存概念:

执行两次相同的查询语句,第一次会在数据库中查询,并保存查询的结果对象(实体类对象),第二次查询的时候就 
 不用再去数据库查询了,直接从缓存中拿上一次查询的结果

一级缓存:

默认开启的,每个SqlSession有单独的缓存,不同的会话之间缓存不共享。执行insert、delete、update或调 
 用方法sqlSession.clearCache()后,缓存就会被清空

二级缓存:

1.需要手动开启,不同的SqlSession之间共享缓存。执行insert、delete、update会清空缓存。
 二级缓存是按命名空间区分的,也就是mapper.xml中mapper标签的namespace属性,不同的命名空间有不同 
 的缓存,也就是不同的DAO接口查询的结果放在不同的缓存中。
2.使用:在mybatis-config.xml中添加<settings>
	                                <setting name="cacheEnabled" value="true"/>
                                </settings>		
   在mapper.xml文件中添加<cache />,则会对该文件中的select结果使用二级缓存
3.参数:
    1).eviction: 
        LRU – 最近最少使用:移除最长时间不被使用的对象。默认值
        FIFO – 先进先出:按对象进入缓存的顺序来移除它们。
        SOFT – 软引用:基于垃圾回收器状态和软引用规则移除对象。
        WEAK – 弱引用:更积极地基于垃圾收集器状态和弱引用规则移除对象。
    2).flushInterval: 缓存刷新间隔,不设置的话就在调用insert、update、insert时刷新
    3).size: 引用数目, 默认值1024
    4).readOnly: 如果为true,则每次都返回缓存对象的同一实例,为false则返回缓存对象的拷贝,默认 
                 false
4.存储在二级缓存中的对象(实体类)要实现Serializable接口
5.select可以设置useCache="false"来对该select结果禁用二级缓存
6.select、insert、update、delete都可设置flushCache属性决定执行该语句是否刷新缓存
7.cache-ref: 如果不同命名空间之间想要共享缓存,则 <cache-ref namespace="要与之共享缓存的目标命 
             名空间" />
8.第三方缓存:如果使用第三方缓存 <cache type="缓存实现类"/>
  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2022-01-14 01:50:01  更:2022-01-14 01:52:01 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 7:53:46-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码