programmerjava
@programmerjava

Hibernate cache lvl2 vs Redis?

Уважаемые коллеги!! Приветствую всех, кто пользовался этой СУДБ и Hibernate\JPA.
У меня вопрос касательно эффективности кеша второго уровня для ORM супротив кеширования данных ручным способом в Redis. Не совсем понимаю ORM каким способом кеширует запросы на втором уровне. Поэтому хочу спросить. КАК ? Самые частые ? Есть ли возможность настраивать этот кеш ? Буду благодарен за все советы и тыки :)
  • Вопрос задан
  • 745 просмотров
Пригласить эксперта
Ответы на вопрос 1
@bobzer
Java EE Developer
Во многих случаях, ответом на вопрос "как лучше кешировать" является "никак". У вас есть на руках конкретные данные о нагрузочном тестировании вашего приложения, в которых четко видно какая из частей Системы какие ресурсы потребляет? Если нет - то погуглите фразу "преждевременная оптимизация".

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

Т.к. конкретный вопрос задан, то всё же отвечу. Любая более-менее развитая СУБД прекрасно умеет кешировать всё, что нужно и в общем случае справляется с этим лучше любых кешей. Если четко видите, что уже не справляется - оптимизируйте СУБД. Кеш Hibernate вряд ли даст ощутимый прирост, опять же в общем случае (количество информации в вопросе позволяет обсуждать только общий случай).

Любые программные кеши требуют собственно программирования. Если вы точно знаете какие сущности надо кешировать и в каком режиме, и при этом типов немного, то возможно, проще всего будет просто создать некий Map прямо в вашем коде и всю работу с ним реализовать самому. Сторонние продукты есть смысл подключать, если логика кеширования и чистки кеша сложная, да ещё, например, требуются распределённый кеш. Тогда да - смотрите отдельные продукты.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы