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"/>