系统为了提高系统并发,性能、一般对系统进行分布式部署(集群部署方式)
不使用分布缓存,缓存的数据在各各服务单独存储,不方便系统 开发。所以要使用分布式缓存对缓存数据进行集中管理。
mybatis无法实现分布式缓存,需要和其它分布式缓存框架进行整合
mybatis提供了一个cache接口,如果要实现自己的缓存逻辑,实现cache接口开发即可。
mybatis和ehcache整合,mybatis和ehcache整合包中提供了一个cache接口的实现类。
整合步骤
1、加入ehcachejar包
2、配置mapper中cache中的type为ehcache对cache接口的实现类型。
<mapper namespace="com.xxx.mybatis.mapper.UserMapper"> <!-- 开启此mapper的namespace下的二级缓存 type:指定cache接口的实现类的类型,mybatis默认使用PerpetualCache --> <cache type="org.mybatis.caches.ehcache.EhcacheCache"/>
3、配置ehcache.xml并将其放到classpath下
<ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="ehcache.xsd" updateCheck="true" monitoring="autodetect" dynamicConfig="true"> <!-- 指定数据在磁盘中的存储位置 --> <diskStore path="D:DEV_ENVehcache" /> <!-- 缓存策略 --> <defaultCache maxElementsInMemory="1000" maxElementsOnDisk="10000000" eternal="false" overflowToDisk="false" timeToIdleSeconds="120" timeToLiveSeconds="120" diskExpiryThreadIntervalSeconds="120" memoryStoreEvictionPolicy="LRU"> </defaultCache> </ehcache>