spingmvc+ecache 在tomcat正常启动后,缓存了一个对象A的list组数据,当tomcat非正常关闭(即停电、死机、关闭黑窗口的X)时,查看tomcat的缓存文件夹***.data和***.index文件夹都存在有大小的数据库文件1kB(1~2条测试数据)。这事重启后并没有读取到原来额数据,这时***.data文件变成0kB,请大神分享下再tomcat非正常关闭后,数据缓存持久化磁盘恢复呢?
ecache的xml部分配置。
<cache name="system.Vote" maxElementsOnDisk="20000" maxElementsInMemory="2000" eternal="true" overflowToDisk="true" diskPersistent="true" />
public static CacheManager getCacheManager(){ return CacheManager.getInstance(); }部分java代码
Element element = new Element("votes", votes); cache.put(element); cache.flush();
public static List<Vote> getVotes(){ Cache cache = CacheManager.getCache("system.Vote"); Element element = cache.get("votes"); cache.flush(); if(element != null){ List<Vote> list = (List<Vote>) element.getValue(); return list; }else{ return null; }
ehcache 和其他缓存类似,需要flush 或者shutdown 才会持久化到硬盘.######参考这篇博客: http://greemranqq.iteye.com/blog/2164243######
你可以引入数据库啊,达到你要的效果,放redis。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。