<?xml version="1.0" encoding="UTF-8"?>
<ehcache
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:noNamespaceSchemaLocation="ehcache.xsd"
        updateCheck="false" monitoring="autodetect"
        dynamicConfig="true">
    <!--
    磁盘存储:将缓存中暂时不使用的对象,转移到硬盘,类似于Windows系统的虚拟内存
    path:指定在硬盘上存储对象的路径
    -->
    <diskStore path="java.io.tmpdir/ehcache-ms-mcms-co"/>

    <!--
            name：缓存名称
            maxElementsInMemory：内存中最大缓存对象数
            maxElementsOnDisk：硬盘中最大缓存对象数，若是0表示无穷大
            eternal：true表示对象永不过期，此时会忽略timeToIdleSeconds和timeToLiveSeconds属性，默认为false
            overflowToDisk：true表示当内存缓存的对象数目达到了maxElementsInMemory界限后，会把溢出的对象写到硬盘缓存中。注意：如果缓存的对象要写入到硬盘中的话，则该对象必须实现了Serializable接口才行。
            diskSpoolBufferSizeMB：磁盘缓存区大小，默认为30MB。每个Cache都应该有自己的一个缓存区。
            diskPersistent：是否缓存虚拟机重启期数据
            diskExpiryThreadIntervalSeconds：磁盘失效线程运行时间间隔，默认为120秒
            timeToIdleSeconds： 设定允许对象处于空闲状态的最长时间，以秒为单位。当对象自从最近一次被访问后，如果处于空闲状态的时间超过了timeToIdleSeconds属性值，这个对象就会过期，EHCache将把它从缓存中清空。只有当eternal属性为false，该属性才有效。如果该属性值为0，则表示对象可以无限期地处于空闲状态
            timeToLiveSeconds：设定对象允许存在于缓存中的最长时间，以秒为单位。当对象自从被存放到缓存中后，如果处于缓存中的时间超过了 timeToLiveSeconds属性值，这个对象就会过期，EHCache将把它从缓存中清除。只有当eternal属性为false，该属性才有效。如果该属性值为0，则表示对象可以无限期地存在于缓存中。timeToLiveSeconds必须大于timeToIdleSeconds属性，才有意义
            memoryStoreEvictionPolicy：当达到maxElementsInMemory限制时，Ehcache将会根据指定的策略去清理内存。可选策略有：LRU（最近最少使用，默认策略）、FIFO（先进先出）、LFU（最少访问次数）。
     -->

    <!--默认缓存策略，当ehcache找不到定义的缓存时，则使用这个缓存策略。只能定义一个。-->
    <defaultCache
            maxElementsInMemory="1000"
            eternal="false"
            timeToIdleSeconds="3600"
            timeToLiveSeconds="3600"
            overflowToDisk="true"
            diskPersistent="true"
            diskExpiryThreadIntervalSeconds="120"
    />


    <cache name="manager-online"
           maxElementsInMemory="2000"
           eternal="false"
           overflowToDisk="false"
           timeToIdleSeconds="259200"
           timeToLiveSeconds="259200"
           diskExpiryThreadIntervalSeconds="120"
           memoryStoreEvictionPolicy="LRU">
        <persistence strategy="localTempSwap"/>
    </cache>


    <cache name="content"
           maxElementsInMemory="2000"
           eternal="true"
           overflowToDisk="true"
           maxElementsOnDisk="0"
           diskPersistent="true"
           memoryStoreEvictionPolicy="LRU">
    </cache>

    <cache name="mdiy-tag"
           maxElementsInMemory="500"
           eternal="false"
           overflowToDisk="false"
           timeToIdleSeconds="259200"
           timeToLiveSeconds="259200"
           diskExpiryThreadIntervalSeconds="120"
           memoryStoreEvictionPolicy="LRU">
        <persistence strategy="localTempSwap"/>
    </cache>

    <!--进度缓存-->
    <cache name="generater-progress"
           maxElementsInMemory="500"
           eternal="false"
           overflowToDisk="false"
           timeToIdleSeconds="259200"
           timeToLiveSeconds="259200"
           diskExpiryThreadIntervalSeconds="120"
           memoryStoreEvictionPolicy="LRU">
        <persistence strategy="localTempSwap"/>
    </cache>

    <!--自定义配置缓存-->
    <cache name="config"
           maxElementsInMemory="500"
           eternal="false"
           overflowToDisk="false"
           timeToIdleSeconds="259200"
           timeToLiveSeconds="259200"
           diskExpiryThreadIntervalSeconds="120"
           memoryStoreEvictionPolicy="LRU">
        <persistence strategy="localTempSwap"/>
    </cache>
    <!--验证码缓存 -->
    <cache name="verifyCodeV2"
           maxElementsInMemory="500"
           eternal="false"
           overflowToDisk="false"
           timeToIdleSeconds="259200"
           timeToLiveSeconds="259200"
           diskExpiryThreadIntervalSeconds="120"
           memoryStoreEvictionPolicy="LRU">
        <persistence strategy="localTempSwap"/>
    </cache>

</ehcache>
<!--ʱ1790204365.4904-->