ehcache 數據持久化問題

ehcache 和其餘緩存相似,須要flush 或者shutdown 纔會持久化到硬盤。java

會生成.data 的數據文件和 .index 的索引文件,方便重啓恢復。web

 

方法1:緩存

<!-- ehcache 磁盤緩存 監控,持久化恢復 -->  
<listener>  
    <listener-class>net.sf.ehcache.constructs.web.ShutdownListener</listener-class>  
</listener> 

 

方法2:
在每次set 時就執行一次 flushcode

net.sf.ehcache.Cache ehCache = (net.sf.ehcache.Cache) cache.getNativeCache();
        ehCache.flush();

 

方法3:
maxElementsInMemory設置成1,overflowToDisk設置成true,只要有一個緩存元素,就直接存到硬盤上去xml

<!-- 
        maxElementsInMemory設置成1,overflowToDisk設置成true,只要有一個緩存元素,就直接存到硬盤上去
        eternal設置成true,表明對象永久有效
        maxElementsOnDisk設置成0 表示硬盤中最大緩存對象數無限大
        diskPersistent設置成true表示緩存虛擬機重啓期數據 
     -->
    <cache 
      name="a"
      maxElementsInMemory="1" 
      eternal="true"
      overflowToDisk="true" 
      maxElementsOnDisk="0"
      diskPersistent="true"/>
相關文章
相關標籤/搜索