项目急用:研究ehcache势在必行。
作为缓存使用,ehcache在java中使用非常普遍,相比于memcache的对比,网上也有很多的。
ehcache和hibernate以及spring框架无缝结合起来非常的方便。
ehcache的缓存在内存和本地硬盘都需要定义设置参数如下:
<ehcache>
<diskStore path="/home/cache"/>
<defaultCache
maxElementsInMemory="1000"
timeToIdleSeconds="3600"
timeToLiveSeconds="3600"
diskPersistent="true"
overflowToDisk="true"
/>
</ehcache>
其中 diskStore 元素为存储在硬盘的路径,其次overflowToDisk 为允许存储在本地硬盘。一般缓存大小大于maxElementsInMemory设置的大小时候才会把多余数据缓存在本地磁盘上进行持久化,但是一旦重启内存的数据就会丢失,为了让本地永久保存一份数据,可以在每次写入内存中时候再本地硬盘强制写入。cache.flush()方法强制写入硬盘。
对于重启后,会自动读取本地硬盘数据到内存中去。