一级缓存基于sqlSession默认开启,在操作数据库时需要构造SqlSession对象,不同的SqlSession之间的缓存数据区域是互相不影响的。 一级缓存的作用域是SqlSession范围的,当在同一个sqlSession中执行两次相同的sql语句时,第一次执行完毕会将数据库中查询的数据写到缓 ...
分类:
其他好文 时间:
2020-05-05 19:45:31
阅读次数:
76
1. 并发编程中的三个问题 可见性(Visibility):是指一个线程对共享变量进行修改,另一个线程立即得到修改后的最新值。 并发编程时,会出现可见性问题,当一个线程对共享变量进行了修改,另外的线程并没有立即看到修改后的最新值。 原子性(Atomicity):在一次或多次操作中,要么所有的操作都执 ...
分类:
其他好文 时间:
2020-05-02 18:50:45
阅读次数:
49
MyBatis缓存 MyBatis包含一个非常强大的查询缓存特性,它可以非常方便地定制和配置缓存。缓存可以极大的提升查询效率。 MyBatis系统中默认定义了两级缓存: 一级缓存 和 二级缓存 默认情况下,只有一级缓存开启。(SqlSession级别的缓存,也称为本地缓存) 二级缓存需要手动开启和配 ...
分类:
其他好文 时间:
2020-05-02 14:50:48
阅读次数:
66
前文传送门: "mybatis源码学习:从SqlSessionFactory到代理对象的生成" "mybatis源码学习:一级缓存和二级缓存分析" 下面这条语句,将会调用代理对象的方法,并执行查询过程,我们一起来看看它的内部是如何实现的。 一、动态代理:执行代理对象的方法时拦截,进行方法增强。 可以 ...
分类:
其他好文 时间:
2020-04-26 11:24:57
阅读次数:
76
(一)Hibernate简介 (二)hibernate配置管理 (三)Hibernate对象-关系映射文件 (四)Hibernate API详解 (五)Hibernate一级缓存 (六)Hibernate的二级缓存 (七)Hibernate Java对象持久化层的状态 (八)Hibernate的一对 ...
分类:
Web程序 时间:
2020-04-26 01:13:03
阅读次数:
88
一、mybatis 里面有一级缓存,默认开启的,缓存到sqlSession,二级缓存要手动开启,sqlSessionFactory 一级缓存只要session不关闭,使用session去查询同一个对象,就只会执行一条sql。 二、开启二级缓存,mybatis核心配置 <!-- 启用二级缓存 --> ...
分类:
其他好文 时间:
2020-04-25 23:10:59
阅读次数:
53
一级缓存: 在应用运行过程中,我们有可能在一次数据库会话中,执行多次查询条件完全相同的SQL,MyBatis提供了一级缓存的方案优化这部分场景,如果是相同的SQL语句,会优先命中一级缓存,避免直接对数据库进行查询,提高性能。 local-cache-scope: session/statement ...
分类:
其他好文 时间:
2020-04-21 15:05:32
阅读次数:
90
Hibernate的一级缓存 什么是缓存 数据存到数据库里面,数据库本身是文件系统,使用流方式操作文件效率不是很高。 (1)把数据存到内存里面,不需要使用流方式,可以直接读取内存中数据 (2)把数据放到内存中,提供读取效率 Hibernate缓存 1 hibernate框架中提供很多优化方式,hib ...
分类:
Web程序 时间:
2020-04-18 11:45:13
阅读次数:
63
MyBatis概念性面试题整理汇总 MyBatis常见的概念性面试题 一、概念性填空题 1、 {}和$ {}的区别是什么? {}是_____,${}是_____。 2、四个核心接口是()用于执行CRUD操作、()处理SQL的参数、()处理返回结果集、()用于执行SQL语句。 3、MyBatis中提供 ...
分类:
其他好文 时间:
2020-04-14 22:27:36
阅读次数:
203
1)一级缓存: 基于 PerpetualCache 的 HashMap 本地缓存,其存储作用域为 Session,当 Session flush 或 close 之后,该 Session 中的所有 Cache 就 将清空,默认打开一级缓存。 2)二级缓存与一级缓存其机制相同,默认也是采用 Perpe ...
分类:
其他好文 时间:
2020-04-12 21:00:12
阅读次数:
91