首页 > 代码库 > Mybatis中的一级缓存和二级缓存
Mybatis中的一级缓存和二级缓存
1、概述
mybatis提供查询缓存主要是为了减轻了数据库的压力,提高了系统的性能。
缓存分为一级缓存和二级缓存,他们之间的关系和区别如下:
一级缓存是sqlSession级别的缓存。在操作数据库时需要构造sqlSession对象,在对象中有一个数据结构(hashmap)对象缓存数据。不同的sqlSession之间的数据缓存区域是不互相影响的。
二级缓存是mapper级别的缓存。多个sqlSession去操作同一个mapper中的sql语句,多个sqlSession共享同一个Mapper的二级缓存数据。
2、一级缓存
2.1一级缓存的工作原理
mybatis中默认一级缓存是开启的不需要配置。
3、二级缓存
3.二级缓存的原理
3.2二级缓存的配置
3.3调用POJO类实现序列化接口。
3.4禁用二级缓存
3.5刷新缓存
4、Mybatis整合ehcache
echache是一个分布式的缓存框架。
4.1分布式缓存
为了提高系统的并发性、性能,采用了分布式
当客户端向服务器发送数据请求时,mybatis无法实现多个多个服务器之间缓存数据的同步,因此需要引入分布式缓存(redis、memcached、ehcache)对缓存数据进行集中管理.
4.2整合ehcahe
4.2.1加入ehcache包
4.2.2mapper中的配置
4.2.3加入ehcache.xml配置文件
在classpath下加入ehcache.xml文件
4.3二级缓存的应用场景
4.4局限性
Mybatis中的一级缓存和二级缓存
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。