zoukankan      html  css  js  c++  java
  • mybatis整合ehcache(分布式缓存框架)

    系统为了提高系统并发,性能、一般对系统进行分布式部署(集群部署方式)

    不使用分布缓存,缓存的数据在各各服务单独存储,不方便系统 开发。所以要使用分布式缓存对缓存数据进行集中管理。

    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>
  • 相关阅读:
    g4e基础篇#1 为什么要使用版本控制系统
    软件开发的自然属性
    定时器实现延时处理
    二分查找法
    php实现循环链表
    redis实现分布式锁
    RabbitMq初探——用队列实现RPC
    RabbitMq初探——发布与订阅
    RabbitMq初探——消息均发
    RabbitMq初探——消息持久化
  • 原文地址:https://www.cnblogs.com/WarBlog/p/14949904.html
Copyright © 2011-2022 走看看