| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java EE (J2EE) и Spring > Проверить работает ли ehcache |
| Автор: Старовъръ 26.12.2009, 20:13 | ||||
Подключил вот так ehcache:
|
| Автор: goodday1941 26.12.2009, 20:33 |
| продебажить скорее всего не работает, я когда настроил его на одном проекте разница біла просто дико заметна |
| Автор: Старовъръ 26.12.2009, 21:11 |
| Хм.. поставил breakpoints в классе net.sf.ehcache.hibernate.EhCacheProvider, там останавливается, однако скорость выборки от этого не увеличивается( Может я чего неверно сконфигурировал? Или неправильно тестирую? Я просто бросаю в БД 500 объектов, потом 1000 раз их выбираю.. |
| Автор: dobrolub 26.12.2009, 21:12 |
| думаю тебе поможет logging. глянь как там включается более подробный логгинг, включи по полной и почитай мессаги кэша. |
| Автор: Vasay 26.12.2009, 21:21 |
| Старовъръ, БД (кстати, она на том же компьютере?) тоже может в памяти закэшировать, вот и не дает ehcache никакого прироста в скорости выборки. |
| Автор: Старовъръ 26.12.2009, 21:56 | ||||
Выложите свои конфигурации и скажите, может еще где-то нужно конфигурить, например, в hbm.xml файлах? |
| Автор: Vasay 26.12.2009, 22:08 |
| Старовъръ, А что будет если сделать так: Положить 500 элементов в БД. Запросить 500 элементов из программы, потом поменять один элемент в БД (не через свою программу), и снова запросить 500 элементов из своей программы? Получим первоначальные 500 элементов, или уже с измененным элементом? |
| Автор: dobrolub 27.12.2009, 04:04 | ||||
Ну если молчит, и быстрее не стало, то наверно и не подключил её хай-бер-нэйт. |
| Автор: gelo86 27.12.2009, 12:12 |
| Просто указать provider_class и ehcache.xml недостаточно. Хибернату надо указать какие класы и коллекшоны надо кешить. |
| Автор: goodday1941 28.12.2009, 00:14 |
| к сожелению я настраивал эхкеш под ждбсшный проект, так что мои конфиги будут явно не к месту, а косаемо хибернейта, я когда-то смотрел в этом направлении и помоему одного конфига (судя по всяческой инфе в интернете) недостаточно |
| Автор: MisterCleric 28.12.2009, 14:29 | ||
| Привет всем. Старовъръ, хорошо, а ты сказал своим энтити, что они кешируемые? Например аннотацией
Просто естественно, что не достаточно сказать, что использовать кеш и настроить дефолтный риджин, надо же еще сказать, а что будет ложится в кеш. |
| Автор: Старовъръ 28.12.2009, 15:10 | ||||||
| Подхватывается все-таки ehcache, т.к. в приложении была ошибка в одном месте когда я установил, что кеш работает только для чтения. Однако прироста в скорости нет. В самом приложении не сравнить, а в тестах скорость все та же. Уже добавил в hbm.xml
Ставлю всем запросам setCacheable(true). Конфиг ehcache.xml теперь выглядит так:
|
| Автор: MisterCleric 28.12.2009, 15:18 |
| Ану смотри здесь: http://forum.springsource.org/showthread.php?t=77183&highlight=ehcache |
| Автор: Старовъръ 28.12.2009, 19:43 |
| Не, там дядько нашел решение, однако сам не понял как и в чем оно заключалось... |
| Автор: Старовъръ 28.12.2009, 20:11 |
| Разобрался. Я делал и занесение данных, и их извлечение в одной транзакции. Кеш не работает, видимо, с данными, которые не закомичены в БД. Всем спасибо за помощь! |