Совместное использование hashmap между разными JVM, работающими на одной машине - PullRequest
2 голосов
/ 29 сентября 2011

У меня есть несколько карт, которые содержат кэшированные данные из базы данных.В настоящее время 5 экземпляров одного и того же сервера работают на одном компьютере в другой JVM.Как я могу поделиться картами между JVM?кеш это написать один раз и прочитать много.В настоящее время проблема состоит в том, что из-за этого следа JVM кэша очень велика.Поэтому хранение этой карты во всей JVM занимает много памяти.Мне нужно решение, которое может не потреблять много времени процессора.Есть ли способ сделать это так же, как совместное использование классов между JVM?

Спасибо, Nikesh PL

Ответы [ 2 ]

1 голос
/ 29 сентября 2011

Почему бы вам не взглянуть на согласованность проекта от оракула? Это не бесплатно, но вы можете скачать и протестировать его бесплатно в системе разработки. Это именно то, что вы ищете. Он используется в качестве кэша для хранения данных базы данных, но в конечном итоге представляет собой карту ключей и значений. Его довольно просто настроить и использовать. Вот ссылка для начала:

http://download.oracle.com/docs/cd/E13924_01/coh.340/e14135.pdf

1 голос
/ 29 сентября 2011

По сути, вы не можете: это два разных адресных пространства.

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

Как насчет процесса управления кешем и быстрого интерфейса с низкой пропускной способностью, который ваши прикладные программы могут использовать для доступа к данным?

...