ehcache缓存内存和硬盘问题-初学者(java)

来源:互联网 发布:js监听浏览器大小变化 编辑:程序博客网 时间:2024/05/03 19:32

项目急用:研究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()方法强制写入硬盘。

对于重启后,会自动读取本地硬盘数据到内存中去。