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局限性

 

posted on 2016-11-27 17:02  一朵云呀  阅读(621)  评论(0)    收藏  举报

导航