Кэширование больших объектов и, при необходимости, де-сериализация (Java) - PullRequest
3 голосов
/ 07 октября 2011

Я только что дошел до того, что Google или мои знания приведут меня вперед.

Подумайте о следующей ситуации: я читаю много (до миллионов) крупных объектов (до 500 МБ каждый), а иногда я читаю миллионы объектов размером всего 500 КБ, это полностью зависит от пользователя моего программного обеспечения. Каждый объект будет обрабатываться в конвейере, поэтому им не нужно постоянно находиться в памяти, нужна только ссылка, чтобы снова найти объекты на моем жестком диске после его сериализации, чтобы я мог снова десериализовать его , Так что это что-то вроде постоянного кэша для больших объектов.

вот и пришли мои вопросы:

  1. Есть ли решение (любая структура), которое делает именно то, что мне нужно? это включает в себя: произвольную сериализацию больших объектов после определения каким-либо образом, заполнен ли кеш?

  2. если нет: есть ли способ каким-то разумным способом проверить, следует ли сериализовать объект или нет? например проверять как-то объем памяти? Или что-то вроде слушателя на мягкую ссылку (когда его выпустят?).

Большое спасибо,

Christian

Ответы [ 2 ]

0 голосов
/ 07 октября 2011

Проверьте Oracle Coherence. Существует также несколько альтернатив с открытым исходным кодом, но Coherence является наиболее многофункциональным.

EDIT: Варианты когерентности

0 голосов
/ 07 октября 2011

Хранение миллионов объектов звучит как приложение базы данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...