Ehcache Vs Реализация статического кеша карт - PullRequest
7 голосов
/ 25 мая 2011

У меня есть несколько таблиц с очень небольшим количеством записей в них, и они никогда не изменятся динамически. поэтому я хочу кэшировать всю таблицу в памяти, чтобы уменьшить нагрузку на БД. Я могу легко добиться этого с помощью статической карты и заполнения карты в статическом блоке.

Мне было интересно, возможно ли то же самое с помощью Ehcache + hibernate?

Ответы [ 2 ]

7 голосов
/ 25 мая 2011

Ehcache имеет гораздо больше возможностей, чем карта:

  • ограничить максимальное количество элементов в памяти
  • переполнение на диск (при превышении указанного числа)
  • установить время жизни и время простоя для элементов
  • разрешает репликацию в кластере

Если вам не нужен ни один из них, вы можете безопасно использовать карту - ее будет проще настроить.

6 голосов
/ 25 мая 2011

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

Вы можете поддерживать отношения с другими объектами (даже не кэшированными);вы можете использовать кеш запросов и по-прежнему выполнять запросы к этим объектам (и результаты этих запросов также будут кешироваться).

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

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