<?xml version="1.0" encoding="UTF-8"?>
<ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="ehcache.xsd" updateCheck="true"
monitoring="autodetect" dynamicConfig="true" name="projectCacheManager">
<diskStore path="D:\cache" />
<!-- 使用组播方式同步(要求所有服务在同一网段内),
timeToLive=0限制在同一个服务器;1是限制在同一个子网;32是限制在同一个网站;64是限制在同一个region;128是限制在同一个大洲;255是不限制
hostName:主机名或者ip,用来接受或者发送信息的接口(不能去掉hostName属性,不然linux部署下存在同步失效的问题)-->
<cacheManagerPeerProviderFactory
class="net.sf.ehcache.distribution.RMICacheManagerPeerProviderFactory"
properties="peerDiscovery=automatic, multicastGroupAddress=230.0.0.1,
multicastGroupPort=4446, timeToLive=32,hostName=localhost" />
<cacheManagerPeerListenerFactory
class="net.sf.ehcache.distribution.RMICacheManagerPeerListenerFactory" />
<!-- 组播方式/点对点方式的缓存容器配置信息 -->
<defaultCache maxElementsInMemory="20000" eternal="true"
timeToIdleSeconds="30" timeToLiveSeconds="30" overflowToDisk="false"
diskPersistent="false" memoryStoreEvictionPolicy="LFU" />
<cache name="project2Cache" maxElementsOnDisk="20000"
maxElementsInMemory="2000" eternal="false" timeToIdleSeconds="60"
timeToLiveSeconds="60" overflowToDisk="true" diskPersistent="true">
<!-- 设置用于缓存的同步策略的监听器 -->
<cacheEventListenerFactory
class="net.sf.ehcache.distribution.RMICacheReplicatorFactory"
properties="replicateAsynchronously=true, replicatePuts=true,
replicatePutsViaCopy=true, replicateUpdates=true,
replicateUpdatesViaCopy=true, replicateRemovals=true,
asynchronousReplicationIntervalMillis=200" />
<!-- 缓存启动时的初始化 -->
<bootstrapCacheLoaderFactory
class="net.sf.ehcache.distribution.RMIBootstrapCacheLoaderFactory" />
</cache>
<!-- 新增一个不需要集群同步的私有缓存容器(非共享缓存容器) -->
<cache name="project2PrivateCache" maxElementsOnDisk="20000"
maxElementsInMemory="2000" eternal="false" timeToIdleSeconds="60"
timeToLiveSeconds="60" overflowToDisk="true" diskPersistent="true">
</cache>
</ehcache>
同个服务器不同web应用要共用同一个缓存,不同服务器则缓存需要同步,ehcache配置:
最新推荐文章于 2022-04-03 15:36:00 发布