Каковы наилучшие методы кэширования в ehcache или spring cache для spring MVC?

Планируя реализовать механизм кэширования статических данных в весеннем веб-приложении, может ли кто-нибудь объяснить, что лучше и как это работает?

  • ЭхКэш
  • Весенний кэш

person Delli Kilari    schedule 05.09.2016    source источник
comment
Вы хотите сравнить ehcache и spring cache?   -  person Amit Parashar    schedule 05.09.2016
comment
Нет, я хотел бы знать, как эти два поддерживают, или мне нужно использовать оба для достижения кеша?   -  person Delli Kilari    schedule 11.09.2016


Ответы (2)


Отказ от ответственности: я являюсь сотрудником Terracotta/Software AG, сопровождающим Ehcache

Ehcache — это библиотека кэширования JVM, известная тем, что используется в качестве кэша второго уровня по умолчанию для Hibernate ORM.

Представлен кэш Spring. в Spring 3.1 и добавил аннотации, такие как @CachePut, для определения использования кешей в приложении Spring; по умолчанию кэш Spring использует обычную карту, но вы можете настроить его для использования любой популярной среды кэширования, включая Ehcache.

Начиная с версии Spring 4.1, кэш Spring поддерживает JSR-107, стандарт для кэширования на JVM.

Это означает, что вы можете добавить кэширующие аннотации JSR-107, а затем выбрать библиотеку кэширования (ehcache 2 или 3 / гуава / кофеин / и т. д.): вы не привязаны ни к какому поставщику кэширования, даже не привязаны к аннотациям кэша Spring!

Есть эта замечательная запись в блоге, объясняющая параллель между Аннотации кэша Spring и аннотации JSR-107, и если вы решите использовать Ehcache3 в своем приложении загрузки Spring, Есть еще одна интересная запись в блоге, в которой объясняется, как интегрировать его в ваше приложение

person Anthony Dahanne    schedule 06.09.2016
comment
Одна причуда аннотаций JSR заключается в том, что нет защиты от проблемы громоподобного стада. Эта функциональность требует использования загрузчика, чтобы тело метода CacheResult не вызывалось. Становится действительно некрасиво. - person Ben Manes; 06.09.2016
comment
Спасибо, Лот Энтони, я сомневаюсь, что мне нужно использовать en-cache и spring cache? - person Delli Kilari; 11.09.2016
comment
@DelliKilari, я предлагаю вам включить кэширование Spring в вашем приложении, использовать аннотации Jcache/jsr107 в вашем коде и настроить ehcache3 или любые другие реализации jsr107 в качестве реализации кэширования (см. ссылки в моем ответе) - person Anthony Dahanne; 12.09.2016
comment
Большое спасибо за ваше время, чтобы ответить на мои сомнения. - person Delli Kilari; 17.09.2016
comment
@AnthonyDhanne: Не могли бы вы предоставить лучшие и быстрые конфигурации кэша по умолчанию для ehcache.xml при реализации ehcache с кешем 2-го уровня гибернации? - person Jajikanth pydimarla; 10.08.2017
comment
@Jajikanth: взгляните на: github.com/ehcache/ehcache3-samples/blob/xmlconfig/fullstack/ - person Anthony Dahanne; 10.08.2017
comment
Я вижу, что этому ответу 3 года, но на сайте ehcache и пример кода еще есть ehcache.xml. Можно ли полностью избавиться от файла xml и выполнить только настройку Java для ehcache 3.8 и весенней загрузки 2.1 (или выше)? - person Iwo Kucharski; 27.05.2020

Ehcache3 поддерживает JSR 107.

Для Ehcache2 вы можете использовать эту реализацию

https://github.com/ehcache/ehcache-jcache/tree/master/ehcache-jcache

person Kalpesh Soni    schedule 18.03.2019