ehcache集群缓存不同步问题-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

ehcache集群缓存不同步问题

2016-03-16 14:21:10 3732 1

使用EhCache2.52,做缓存,缓存用的Spring3.1注解,测试用两台服务器集群EhCache,出现缓存不同步问题,访问两台服务器都各自缓存了,A服务器缓存更新,访问B服务器依旧是旧的缓存数据,数据没更新。

A服务器ehcache.xml中缓存配置如下:

<cacheManagerPeerProviderFactory     

     class="net.sf.ehcache.distribution.RMICacheManagerPeerProviderFactory"     

     properties="hostName=192.168.3.111,    

     port=4567,    

     socketTimeoutMillis=2000,    

     peerDiscovery=manual,    

     rmiUrls=//192.168.3.211:4567/param"

 />

<cache

 name="param"

 maxElementsInMemory="10000"

 maxElementsOnDisk="10000000"

 eternal="true"

 overflowToDisk="true"

 diskPersistent="true"

 memoryStoreEvictionPolicy="LFU">

 <cacheEventListenerFactory

         class="net.sf.ehcache.distribution.RMICacheReplicatorFactory"

         properties="replicateAsynchronously=true,

     replicatePuts=true,

     replicateUpdates=true, 

         replicateUpdatesViaCopy=false,  

     replicateRemovals=true"/>

</cache>

B服务器ehcache.xml中缓存配置如下:

<cacheManagerPeerProviderFactory     

     class="net.sf.ehcache.distribution.RMICacheManagerPeerProviderFactory"     

     properties="hostName=192.168.3.211,    

     port=4567,    

     socketTimeoutMillis=2000,    

     peerDiscovery=manual,    

     rmiUrls=//192.168.3.111:4567/param"

 />

<cache

 name="param"

 maxElementsInMemory="10000"

 maxElementsOnDisk="10000000"

 eternal="true"

 overflowToDisk="true"

 diskPersistent="true"

 memoryStoreEvictionPolicy="LFU">

 <cacheEventListenerFactory

         class="net.sf.ehcache.distribution.RMICacheReplicatorFactory"

         properties="replicateAsynchronously=true,

     replicatePuts=true,

     replicateUpdates=true, 

         replicateUpdatesViaCopy=false,  

     replicateRemovals=true"/>

</cache>

也曾尝试使用自动发现

<cacheManagerPeerProviderFactory    

     class="net.sf.ehcache.distribution.RMICacheManagerPeerProviderFactory"    

     properties="peerDiscovery=automatic, multicastGroupAddress=230.0.0.1,    

     multicastGroupPort=4446, timeToLive=32"    

 />

以及jsGroups,都无法同步缓存,其中jsGroup最新版的还不能和EhCache2.5.2组合使用,只能用2.X,而且缓存的DAO方法参数中有对象实现了序列化,ehcache-jgroupsreplication还会报错,请问这是何解啊?EhCache如何实现集群啊?

取消 提交回答
全部回答(1)
  • a123456678
    2019-07-17 19:03:58

    好像是少配置bootstrapCacheLoaderFactory,启动时导致初始数据的不同步

    以下是我的配置

    <ehcache xsi:noNamespaceSchemaLocation="ehcache.xsd" updateCheck="true" monitoring="autodetect" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <diskStore path="java.io.tmpdir"/>
    <cacheManagerPeerProviderFactory class="net.sf.ehcache.distribution.RMICacheManagerPeerProviderFactory" properties="peerDiscovery=automatic, multicastGroupAddress=230.0.0.14, multicastGroupPort=4446, timeToLive=1"/>
    <cacheManagerPeerListenerFactory class="net.sf.ehcache.distribution.RMICacheManagerPeerListenerFactory"/>
    <defaultCache maxElementsInMemory="10000" eternal="false" timeToIdleSeconds="120" timeToLiveSeconds="120" overflowToDisk="true" maxElementsOnDisk="10000000" diskPersistent="false" diskExpiryThreadIntervalSeconds="120" memoryStoreEvictionPolicy="LRU"/>
    <cache name="clusterCache" maxElementsInMemory="100" eternal="false" timeToIdleSeconds="300" timeToLiveSeconds="600" overflowToDisk="false" diskPersistent="false">
    <cacheEventListenerFactory class="net.sf.ehcache.distribution.RMICacheReplicatorFactory" properties="replicateAsynchronously=true,replicatePuts=true,replicateUpdates=true,replicateUpdatesViaCopy=true,replicateRemovals=true"/>
    <bootstrapCacheLoaderFactory class="net.sf.ehcache.distribution.RMIBootstrapCacheLoaderFactory"/>
    </cache>
    </ehcache>
    0 0
相关问答

70

回答

Discuz实现oss云存储

山不周 2015-04-21 11:20:02 66972浏览量 回答数 70

12

回答

在阿里云上安装和运行Node.js全功略

ycwong 2013-09-18 15:17:30 67019浏览量 回答数 12

30

回答

云计算之路:为什么要选择云计算

cnblogs 2013-03-27 10:22:27 145000浏览量 回答数 30

19

回答

【分享】如何提高网站的打开速度?

enj0y 2012-11-17 14:35:22 58082浏览量 回答数 19

14

回答

价值888元的wordpress性能优化方案 全面提升wordpress打开速度

元芳啊 2018-11-01 10:54:31 54331浏览量 回答数 14

28

回答

钉钉开放平台“常见问题常见问题常见问题“重要请关注

竹梅 2015-12-03 00:39:14 96805浏览量 回答数 28

19

回答

【分享】如何提高网站的打开速度?

enj0y 2012-11-17 14:35:22 47872浏览量 回答数 19

53

回答

巧用linux云服务器下的的/dev/shm/,避开磁盘IO不给力!

qilu 2013-05-29 22:24:22 63941浏览量 回答数 53

13

回答

【云服务器分享】如何节省网站流量

dreamdoo 2012-10-15 10:36:09 81884浏览量 回答数 13

16

回答

Linux系统常用命令大全

2013-05-16 11:07:26 44932浏览量 回答数 16
+关注
0
文章
14879
问答
问答排行榜
最热
最新
相关电子书
更多
JS零基础入门教程(上册)
立即下载
性能优化方法论
立即下载
手把手学习日志服务SLS,云启实验室实战指南
立即下载