EhCache DiskStore находится в памяти

Я использую EhCache с кешем памяти, загруженным из кеша диска.

При создании дампа JVM моего процесса я заметил, что EhCache хранит в памяти кеш и объект diskstore этого кеша.

Размер памяти обоих становится большим (DiskStore в памяти составляет около 75% кеша памяти).

Мне интересно, почему DiskStore находится на диске и в памяти, в дополнение к обычному кешу памяти?


person Matthieu Napoli    schedule 29.04.2011    source источник


Ответы (1)


Кэш кэширует данные в памяти для ускорения доступа. Вы должны загрузить данные в память, чтобы использовать их, и очень плохая идея удалять их с диска только потому, что они в памяти.

Экономия ресурсов диска в этом случае является пустой тратой времени, так как место на диске относительно дешевое, а его замена относительно дорогая.

person Peter Lawrey    schedule 29.04.2011
comment
удалять его с диска - очень плохая идея: я ничего не удаляю с диска. У меня в памяти есть обычный кеш, загруженный с диска, и объект DiskStore, который тоже занимает много памяти. Кажется, что в памяти есть и кеш памяти, и кеш диска... - person Matthieu Napoli; 29.04.2011
comment
@ Mattieu, я полагаю, что в Diskstore есть сериализованная форма записей. Но согласен чем две копии в памяти расточительно. - person Peter Lawrey; 29.04.2011