java教程

ehcache对于多层缓存的高速缓存预热 中文版说明

位置:首页 > java教程 > 安装配置,2013-07-12
ehcache对于多层缓存的高速缓存预热(Ehcache的2.5和更高版本)当缓存启动时,店家总是空的。的Ehcache提供了BootstrapCacheLoader的机制来克服这个。运行Bootst...

ehcache对于多层缓存的高速缓存预热


(Ehcache的2.5和更高版本)

当缓存启动时,店家总是空的。的Ehcache提供了BootstrapCacheLoader的机制来克服这个。运行BootstrapCacheLoader前缓存设置为“活着”。如果同步加载完成CacheManager的开始之前,或者如果异步的CacheManager的开始,但加载继续agressively的,而不是等待元素的要求,这是一个懒加载方式。

复制缓存填充他们提供一个引导机制。例如以下是的JGroups的引导缓存装载机:

<bootstrapCacheLoaderFactory class="net.sf.ehcache.distribution.jgroups.JGroupsBootstrapCacheLoaderFactory" properties="bootstrapAsynchronously=true"/> 

的TerracottaBootstrapCacheLoaderFactory负荷元素从秦始皇L2到L1基于它用的是什么最后一次,它跑。(第一次运行它时,它有没有效果。),它的工作原理通过定期编写L1到磁盘使用的键。

该TerracottaStoreBootstrapCacheLoaderFactory配置如下:

<bootstrapCacheLoaderFactory class="net.sf.ehcache.terracotta.TerracottaBootstrapCacheLoaderFactory" properties="bootstrapAsynchronously=true,
           directory=dumps,
           interval=5,
           immediateShutdown=false,
           snapshotOnShutDown=true,
           doKeySnapshot=false,
           useDedicatedThread=false"/> 

配置属性:

  • bootstrapAsynchronously:无论是引导异步或不。异步引导将允许缓存使用,同时启动加载继续。
  • 目录:目录,创建快照。默认情况下,这将使用CacheManager的diskStore路径。
  • 间隔:间隔以秒为单位,每个按键之间的快照。默认为每10分钟(600秒)。更频繁的快照缓存的性能开销增加,依赖于缓存大小和磁盘速度等因素。强烈建议彻底测试各种值。
  • immediateShutdown:是否关闭高速缓存时,应该让的keysnapshotting(正在进行中)马上完成或终止。默认为true。
  • snapshotOnShutDown:无论本地密钥集合快照,当缓存被出售。默认为false。
  • doKeySnapshot,设置为false可以禁止keysnapshotting的。默认值是true。启用加载不采取新的快照后,现有的被加载(稳定快照)从现有的快照。或仅快照在缓存处理(见snapshotOnShutdown)的。
  • useDedicatedThread:预设,每个的CacheManager的使用10个线程的线程池做快照。如果你想使用一个专用的线程的快照的缓存设置为true

关键快照将在的diskStore目录配置CacheManager的水平。

每个高速缓存中创建一个文件的名称<cacheName>。的keySet。

在一个突然终止的情况下,被写入新的快照时,他们被写入使用扩展温度 ,然后写完成后现有的文件改名为。岁,温度更名。键集,最后老文件被删除。如果突然终止时,你会看到一些这些目录中的文件在下次启动时将被清理。

键集快照像其他diskStore文件,文件可以迁移到其他节点进行预热。

如果重新启动之间,缓存不能容纳整个热集本地,装载机将尽快上堆(或离堆),店已经坐满停止加载。


TAGS:ehcacheehcache动态更改缓存配置

猜你喜欢

NewHot