| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 大数据 -> Mybatis的缓存机制及其使用 -> 正文阅读 |
|
[大数据]Mybatis的缓存机制及其使用 |
一、什么是缓存(Cache),缓存有什么作用(1)存在内存中的临时数据。 (2)将用户经常查询的数据放在缓存(内存)中,用户查询数据时就不需要在从磁盘上(关系型数据库数据文件)查询,直接从缓存中查询;从而提高了查询效率,解决了高并发系统的性能问题。 (3)什么样的数据能使用缓存:经常查询且不经常改变的数据。 作用:减少了和数据库的交互次数,减少了系统的开销,提高了系统效率; 二、Mybatis的缓存(1) MyBatis 包含一个非常强大的查询缓存特性,它可以非常方便地定制和配置缓存。缓存可以极大的提升查询效率。 a、默认情况下,只有一级缓存开启。( SqlSession 级别的缓存,也称为本地缓存)。 b、二级缓存需要手动开启和配置,他是基于 namespace 级别的缓存。 c、为了提高扩展性, MyBatis 定义了缓存接口 Cache ,我们可以通过实现 Cache 接口来自定义二级缓存。 三、一级缓存缓存失效的情况: 1、查询不同的东西 2、增删改操作,改变了原来的数据 3、查询了不同的Mapper.xml 4、手动清理了缓存 手动清理缓存:
小结:一级缓存默认开启的,只在一次sqlSession中有效,也就是拿到连接和关闭连接这个区间中有效,一级缓存就是一个Map。 四、二级缓存(1)二级缓存也叫全局缓存,一级缓存作用城太低了,所以诞生了二级缓存 (2)基于 namespace 级别的缓存,一个名称空间,对应一个二级缓存; (3)工作机制: 实现二级缓存的步骤;: (1)开启全局缓存:
(2)Mapper中开启二级缓存 直接开启:
自定义参数:
小结: (1)只要开启二级缓存在同一个Mapper下就有效 (2)所有的数据会先放在一级缓存中 (3)只有当会话提交时,或者关闭时,才会提交到二级缓存中 五、自定义缓存--ehcacheEhcache是一种广泛使用的开源Java分布式缓存,主要面向通用缓存 (1)使用时要导包:
(2)Mapper中:
(3)配置缓存:
|
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
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 1:19:00- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |