ehcache缓存持久化的内容存在哪呢,比如说记录记录密码失败次数存ehcache中,会不会被恶意清空

cache的属性有如下几个

maxElementsOnDisk:磁盘中最大緩存持久化对象数若是0表示无穷大。
timeToIdleSeconds:设置Element在失效前的允许闲置时间仅当element不是永久有效时使用,可选属性默认值是0,也就是可闲置時间无穷大
timeToLiveSeconds:设置Element在失效前允许存活时间。最大时间介于创建时间和失效时间之间仅当element不是永久有效时使用,默认是0.也就是element存活时間无穷大。
diskPersistent:是否缓存持久化虚拟机重启期数据(Server重启时将缓存持久化序列化到本地,后再加载保证缓存持久化在重启后依然有效)。
memoryStoreEvictionPolicy:当达到maxElementsInMemory限制时Ehcache将会根据指定的策略去清理内存。默认策略是LRU(最近最少使用)你可以设置为FIFO(先进先出)或是LFU(较少使用)。这裏比较遗憾Ehcache并没有提供一个用户定制策略的接口,仅仅支持三种指定策略感觉做的不够理想。

下面说下最近使用到的磁盘持久化与加載功能由于之前使用过程中一般为直接缓存持久化,而最近想到使用diskPersistent来配置本地磁盘持久化实现此功能其实非常简单,只用简单的将diskPersistent配置为true以tomcat为例,在重启时候需要告知EhCache你要重启了,让EhCache去序列化内容到磁盘此过程可以自己写监听实现重启时调用CacheManager的shutdown,也可以直接使鼡EhCache提供的监听类net.sf.ehcache.constructs.web.ShutdownListener但是有一点需要注意,就是在使用此项功能时必须保持重启或者关闭Server采用的是正常手段关闭,直接杀进程之类的关闭時完全不生效的

我要回帖

更多关于 ehcache缓存 的文章

 

随机推荐