ehcache 缓存设置策略

  1. <ehcache xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  2.    xsi:noNamespaceSchemaLocation="ehcache.xsd">  
  3.   <diskStore path="java.io.tmpdir"/>  
  4.   <defaultCache  
  5.     maxElementsInMemory="10000"  
  6.     maxElementsOnDisk="0"  
  7.     eternal="true"  
  8.     overflowToDisk="true"  
  9.     diskPersistent="false"  
  10.     timeToIdleSeconds="0"  
  11.     timeToLiveSeconds="0"  
  12.     diskSpoolBufferSizeMB="50"  
  13.     diskExpiryThreadIntervalSeconds="120"  
  14.     memoryStoreEvictionPolicy="LFU"  
  15.     />  
  16.   <cache name="demoCache"  
  17.     maxElementsInMemory="100"  
  18.     maxElementsOnDisk="0"  
  19.     eternal="false"  
  20.     overflowToDisk="false"  
  21.     diskPersistent="false"  
  22.     timeToIdleSeconds="119"  
  23.     timeToLiveSeconds="119"  
  24.     diskSpoolBufferSizeMB="50"  
  25.     diskExpiryThreadIntervalSeconds="120"  
  26.     memoryStoreEvictionPolicy="FIFO"  
  27.     />  
  28. ehcache>  
  29. name:Cache的名称,必须是唯一的(ehcache会把这个cache放到HashMap里)。
    maxElementsInMemory:内存中保持的对象数量。
    maxElementsOnDisk:DiskStore中保持的对象数量,默认值为0,表示不限制。
    eternal:是否是永恒数据,如果是,则它的超时设置会被忽略。
    overflowToDisk:如果内存中数据超过内存限制,是否要缓存到磁盘上。
    timeToIdleSeconds:对象空闲时间,指对象在多长时间没有被访问就会失效。只对eternal为false的有效。默认值0,表示一直可以访问。
    timeToLiveSeconds:对象存活时间,指对象从创建到失效所需要的时间。只对eternal为false的有效。默认值0,表示一直可以访问。
    diskPersistent:是否在磁盘上持久化。指重启jvm后,数据是否有效。默认为false。
    diskExpiryThreadIntervalSeconds:对象检测线程运行时间间隔。标识对象状态的线程多长时间运行一次。
    diskSpoolBufferSizeMB:DiskStore使用的磁盘大小,默认值30MB。每个cache使用各自的DiskStore。
    memoryStoreEvictionPolicy:如果内存中数据超过内存限制,向磁盘缓存时的策略。默认值LRU,可选FIFO、LFU。

你可能感兴趣的:(ehcache 缓存设置策略)