2011-04-29 28 views
1

我使用EhCache和从磁盘缓存中加载的内存缓存。EhCache DiskStore在内存中

当转储我的进程的JVM时,我注意到EhCache将高速缓存的磁盘存储对象存储在内存中的缓存

两者的内存容量越来越大(内存中的DiskStore大约占内存缓存的75%)。

我想知道为什么DiskStore在内存中的磁盘,除了正常的内存缓存?

回答

1

缓存将数据缓存在内存中以提高访问速度。您必须将数据加载到内存中才能使用它,并且仅仅因为它在内存中从磁盘中删除它是一个非常糟糕的主意。

在这种情况下节省磁盘资源是浪费时间,因为磁盘空间相对便宜并且更改相对昂贵。

+0

“将它从磁盘上删除是一个非常糟糕的主意”:我不会从磁盘中删除任何东西。在内存中,我有从磁盘加载的普通缓存和一个占用大量内存的“DiskStore”对象。似乎内存中有内存缓存和磁盘缓存...... – 2011-04-29 09:33:09

+0

@Mattieu,我想磁盘存储具有序列化的记录形式。但我同意记忆中的两个副本是浪费的。 – 2011-04-29 09:37:04