3
回答
还有个问题请教你,关于ehcache的缓存问题
华为云实践训练营,热门技术免费实践!>>>   

@红薯 你好,想跟你请教个问题:

代码如下:

List list = new ArrayList();
cache.putElement("test", list);

以上list对象是被缓存到cache中了,对于以下代码中的Integer对象是否也是缓存在cache中了呢?

for(int i=1;i<51;i++){
Integer m = new Integer(i);
 list.add(m);
}

cache的配置文件只能控制缓存对象的个数,但是不能控制所占用内存的大小,有没有这种可能,缓存的对象没有超出配置文件的个数,但是对象占用的内存已经导致内存溢出了,这样的话,如何解决?请你指教,多谢!

举报
coolffe
发帖于5年前 3回/972阅
共有3个答案 最后回答: 5年前

ehcache可以设置,内存占用超过多少就写硬盘,不会随便溢出的

overflowToDisk:当内存中对象数量达到maxElementsInMemory时,Ehcache将会对象写到磁盘中。

引用来自“羅立安的眼光”的答案

ehcache可以设置,内存占用超过多少就写硬盘,不会随便溢出的

overflowToDisk:当内存中对象数量达到maxElementsInMemory时,Ehcache将会对象写到磁盘中。

你说的只是对象的个数,不代表对象占用的内存大小,当使用大数据的时候,对象个数可能很少,但是对象占用的内存已经导致溢出了,这点怎么控制?

--- 共有 1 条评论 ---
羅立安的眼光对象大小完全不可以估计么。。 5年前 回复

引用来自“coolffe”的答案

引用来自“羅立安的眼光”的答案

ehcache可以设置,内存占用超过多少就写硬盘,不会随便溢出的

overflowToDisk:当内存中对象数量达到maxElementsInMemory时,Ehcache将会对象写到磁盘中。

你说的只是对象的个数,不代表对象占用的内存大小,当使用大数据的时候,对象个数可能很少,但是对象占用的内存已经导致溢出了,这点怎么控制?

数据是变化的,不好估计啊。比如说信贷信息,不同的企业数据量不一样,所以每法预估。
顶部