EHCache缓存广播方式同步

最近测试了EhCache的缓存同步问题,总结了几方面的内容

1.tomcat目录不要有空格!tomcat目录不要有空格!tomcat目录不要有空格!

2.同一个tomcat下多个项目之间缓存是不共享的,即使每个项目设置的缓存名相同,但是如果持久化到磁盘后,如果缓存目录设置的相同,从硬盘上获取时,会导致另一个项目获取到

3.采用广播的方式来实现缓存同步时,需要配置好cacheManagerPeerProviderFactory与cacheManagerPeerListenerFactory

4.cacahe中属性需要配置下cacheEventListenerFactory与bootstrapCacheLoaderFactory

5.手动发现与自动发现可根据需要执行配置,还是挺方便的


代码贴不上??




最后附上EhCache配置文件中一些常用属性的说明

windows环境下做集群时tomcat安装目录不可以有空格,否则会导致缓存同步失败,这个是jdk的bug,浪费了好多时间,注意注意注意!

 name:Cache的唯一标识

 maxElementsInMemory:内存中最大缓存对象数

 maxElementsOnDisk:磁盘中最大缓存对象数,若是0表示无穷大 

  eternal:Element是否永久有效,一但设置了,timeout将不起作用 

  overflowToDisk:配置此属性,当内存中Element数量达到maxElementsInMemory时,Ehcache将会Element写到磁盘中 

   timeToIdleSeconds:设置Element在失效前的允许闲置时间。仅当element不是永久有效时使用,可选属性,默认值是0,也就是可闲置时间无穷大 

    timeToLiveSeconds:设置Element在失效前允许存活时间。最大时间介于创建时间和失效时间之间。仅当element不是永久有效时使用,默认是0.,也就是element存活时间无穷大 

    diskPersistent:是否缓存虚拟机重启期数据 

    diskExpiryThreadIntervalSeconds:磁盘失效线程运行时间间隔,默认是120秒 

    diskSpoolBufferSizeMB:这个参数设置DiskStore(磁盘缓存)的缓存区大小。默认是30MB。每个Cache都应该有自己的一个缓冲区 

    memoryStoreEvictionPolicy:当达到maxElementsInMemory限制时,Ehcache将会根据指定的策略去清理内存。默认策略是LRU(最近最少使用)。你可以设置为FIFO(先进先出)或是LFU(较少使用)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 原文连接:https://my.oschina.net/coolfire368/blog/123377 ehcac...
    晴天哥_王志阅读 1,368评论 0 1
  • 理论总结 它要解决什么样的问题? 数据的访问、存取、计算太慢、太不稳定、太消耗资源,同时,这样的操作存在重复性。因...
    jiangmo阅读 2,886评论 0 11
  • Ehcache是现在最流行的纯Java开源缓存框架,配置简单、结构清晰、功能强大,最初知道它,是从Hibernat...
    安易学车阅读 2,042评论 0 11
  • 前言 Ehcache 是一个成熟的缓存框架,你可以直接使用它来管理你的缓存。Spring 提供了对缓存功能的抽象:...
    静默虚空阅读 2,482评论 3 20
  • 世界上有两种人,家里有猫的和家里没猫的。 仔细想想,凡是养了猫的人,或多或少都有点心理问题。 猫咪这种生物,既高冷...
    易理天地阅读 3,558评论 3 1