#java #caching #jakarta-ee #webpage #ehcache
#java #кэширование #джакарта-ee #веб-страница #ehcache
Вопрос:
Я пытаюсь ускорить свое веб-приложение, используя кэширование веб-страниц для более быстрого доступа в следующий раз, поэтому может кто-нибудь дать мне рекомендации, как использовать Ehcache для того же?
Ответ №1:
Документация Ehcache по веб-кэшированию должна стать хорошим началом. Для быстрого начала у них также есть образец / рецепт кода для этого.
РЕДАКТИРОВАТЬ: (как проверить, работает ли это)
- включите ведение журнала для пакета
net.sf.ehcache.constructs.web.filter
(напримерDEBUG
, уровня) и просмотрите записи журнала SimplePageCachingFilter
является ли сжатие ответа; ищитеContent-Encoding: gzip
в заголовках HTTP-ответа —Content-Length
должно быть меньше, чем раньшеehcache.xml
: настройте кэш наoverflowToDisk="true"
и установите<diskStore path="target/ehcache-diskStore"/>
—SimplePageCachingFilter.data
там должен был быть создан (сначала пустой) файл с именем- Статистика JMX / кэша (более сложная; см. JMX-Tutorial)
- …
Комментарии:
1. Привет, спасибо за ваш ответ, я попробовал пример кода / рецепт, в который я добавил фильтр и сопоставление фильтров для фильтра simplepagecaching в web.xml и обеспечил ehcache.xml в <context-param> <param-name>contextConfigLocation</param-name> <param-value> classpath:ehcache.xml </параметр-значение> </context-param> во время развертывания выдает ошибку: net.sf.ehcache. Исключение CacheException: кэш ‘SimplePageCachingFilter’ не найден в конфигурации
2. Я решил эту проблему, указав кэш с именем simplePageCachingFilter в ehcache.xml но теперь я не знаю, как узнать, выполнено ли какое-либо кэширование или нет? как я могу узнать, что кэширование выполнено?
3. мое приложение успешно развернуто, но я не получаю выгоды от кэша кто-нибудь знает, как заставить это работать?
4. @HemantMetalia: Я обновил свой ответ о том, как проверить, работает ли он. Что именно вы подразумеваете под «отсутствием преимуществ кеширования»?