Ehcache и Java - PullRequest
       25

Ehcache и Java

1 голос
/ 04 ноября 2008

Я использую ehCache для хранения большого количества данных. К этому кэшу обращаются примерно 3 раза в секунду, и его необходимо постоянно обновлять. У меня есть поток, который работает, который каждую минуту извлекает все данные, необходимые для кэша, из базы данных в другой кэш (также другой менеджер кэша). Я хочу скопировать содержимое данных из нового кеша в кеш, к которому обращаются каждую секунду, быстрым, надежным и синхронизированным способом. (например, вызвать метод замены, передав в существующий кеш и новый кеш, и быстро и безопасно обновить новый кеш)

Есть ли способ сделать это в ehCache?

Любая помощь очень ценится.

Спасибо Дэмиен

Ответы [ 2 ]

6 голосов
/ 04 ноября 2008

Похоже, вы ищете сложное решение проблемы, которую ehcache решает "из коробки".

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

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

0 голосов
/ 04 ноября 2008

+ 1 до Стив Маклеод .

См. SelfPopulationCache

Я считаю, что это будет точно , что вы хотите, и быстро.

Если вы все еще хотите поддерживать два кэша, это все еще путь. Просто заставьте экземпляр CacheFactory возвращать кэшированные значения из вашего автономного кэша.

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