關於Ehcache磁盤緩存(.index文件 .data文件)解析


先展示下ehcache.xml的內容  很普通   overflowToDisk、diskPersistent都是設置的true。網上很多說法當overflowToDisk=‘true’,內存超出maxElementsInMemory才會磁盤化,其實是錯的。

其實只要設置了overflowToDisk=‘true’,就會產生data文件(序列化),緩存就會磁盤化。data文件只要cache.put()方法就能生成,並不用cache.flush()。.index文件是指向data的索引,而且比如tomcat服務器只是通過索引文件index,找到對應data文件才會加載磁盤緩存,如果沒有index文件那就加載不了data緩存文件,切記只有在cacheManager.shutdown()   才會生成index索引文件!!   如下。

所以要注意 hibernate內部封裝了 ehcache    正常關閉服務器就調用cacheManager.shutdown()   生成index文件。非正常關閉 就無法生產   所以無法調用磁盤緩存了。

1.     執行./shutdown.sh    shutdown.bat   正常關閉

2.    殺進程       kill -9      非正常關閉

3.    System.exit      關閉虛擬機  調用關閉鈎子   正常關閉   

然后通過如下  反序列化data文件  看一下就行了

 

 

 

 

 

 

 

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM