主题 之前学习了一下MyBatis的一级缓存,主要涉及到BaseExecutor这个类. 现在准备学习记录下MyBatis二级缓存. 配置二级缓存与初始化发生的事情 首先二级缓存默认是不开启的,需要自己配置开启. 如上图,需要在configuration里去开启. 其次在需要用到二级缓存的Mappe ...
分类:
其他好文 时间:
2018-10-14 14:12:36
阅读次数:
298
opensession与currentsession的联系与区别 在同一个线程中opensession的session是不一样的,而currentsession获取的session是一样的,这就保证了线程的安全性。当然想要后者的session需要在配置文件中手动配置,另外我们可以写一个工具类来获得后 ...
分类:
Web程序 时间:
2018-10-07 14:36:17
阅读次数:
173
缓存: 缓存介于应用程序和永久性数据存储源之间,其作用是降低应用程序直接读写永久性数据存储源的概率,从而提高应用程序的运行性能,缓存的物理介质通常是内存 一级缓存 hibernate的缓存分为一级和二级缓存,两者都位于持久化层存储的都是数据库数据的备份,其中一级缓存为hibernate的内置缓存,不 ...
分类:
Web程序 时间:
2018-10-06 18:37:13
阅读次数:
199
mybatis开启二级缓存小记 1.开启二级缓存 和一级缓存默认开启不一样,二级缓存需要我们手动开启 首先在全局配置文件 mybatis configuration.xml 文件中加入如下代码: 其次在 UserMapper.xml 文件中开启缓存 我们可以看到 mapper.xml 文件中就这么一 ...
分类:
其他好文 时间:
2018-10-06 14:33:09
阅读次数:
98
看了通过源码分析MyBatis的缓存这篇文章后,自己跟着源码过了一遍,对mybatis的一级缓存和二级缓存有了更清楚的认识。 一级缓存是SqlSession级别的,同一个sqlSession在第二次执行一个相同参数的select语句并且第一次执行后没有对数据进行更新,就会直接从缓存取值,而不再进行查 ...
分类:
其他好文 时间:
2018-10-04 11:15:16
阅读次数:
140
上一篇[MyBatis框架原理2:SqlSession运行过程][1]介绍了MyBatis的工作流程,其中涉及到了MyBatis缓存的使用,首先回顾一下工作流程图: 如果开启了二级缓存,数据查询执行过程就是首先从二级缓存中查询,如果未命中则从一级缓存中查询,如果也未命中则从数据库中查询。MyBati ...
分类:
其他好文 时间:
2018-09-22 00:58:11
阅读次数:
177
1、一级缓存 MyBatis 默认开启了一级缓存,一级缓存是在SqlSession 层面进行缓存的。即,同一个SqlSession ,多次调用同一个Mapper和同一个方法的同一个参数, 只会进行一次数据库查询,然后把数据缓存到缓冲中,以后直接先从缓存中取出数据,不会直接去查数据库。 ? 但是不同的 ...
分类:
其他好文 时间:
2018-09-12 16:57:42
阅读次数:
161
缓存:为数据库的查询进行缓存,是减少数据库压力的主要捷径,官方介绍主要有一级缓存和二级缓存,下面简单介绍这两种缓存的区别。 一级缓存:session级别缓存,作用于当前会话。 二级缓存:SessionFactory级别缓存,作用于整个SessionFactory,多个会话之间共享缓存。 ...
分类:
其他好文 时间:
2018-09-11 14:10:06
阅读次数:
114
电商案例原因 分布式大型网站,目前看主要有几类1.大型门户,比如网易,新浪等;2.SNS网站,比如校内,开心网等;3.电商网站:比如阿里巴巴,京东商城,国美在线,汽车之家等。大型门户一般是新闻类信息,可以使用CDN,静态化等方式优化,开心网等交互性比较多,可能会引入更多的NOSQL,分布式缓存,使用 ...
分类:
其他好文 时间:
2018-08-31 23:24:20
阅读次数:
242
1 二级缓存简介 二级缓存是在多个SqlSession在同一个Mapper文件中共享的缓存,它是Mapper级别的,其作用域是Mapper文件中的namespace,默认是不开启的。看如下图: 整个流程是这样的(不考虑第三方缓存库): 当开启二级缓存后,在配置文件中配置<setting name=" ...
分类:
其他好文 时间:
2018-08-29 14:19:58
阅读次数:
360