привет!
встала задача выбора кэш-провайдера для hibernate.
согласно хибернейтовской доке есть как минимум вот такие вот провайдеры:
Hashtable, EHCache, OSCache, SwarmCache, JBoss TreeCache. Разница между их возможностями сведенна в таблицу 19.1 (
http://www.hibernate.org/hib_docs/v3/reference/en/html/performance.html).
вообщем из нее не очень ясно, когда какой провайдер нужно использовать, а какой нет.
Здравствуйте, pvnic, Вы писали:
P>привет!
P>встала задача выбора кэш-провайдера для hibernate.
P>согласно хибернейтовской доке есть как минимум вот такие вот провайдеры:
P>Hashtable, EHCache, OSCache, SwarmCache, JBoss TreeCache. Разница между их возможностями сведенна в таблицу 19.1 (http://www.hibernate.org/hib_docs/v3/reference/en/html/performance.html).
P>вообщем из нее не очень ясно, когда какой провайдер нужно использовать, а какой нет.
Хмм... а по мне так вполне очевидно...
EHCache/OSCache разница в следующем:
EHCache — блокируется при обновлениях, а OSCache нет.
OSCache можно кластеризовать (в таблице устаревшие данные) через JMS
http://raibledesigns.com/rd/entry/clustering_oscache
Если сразу известно, что нужно кластеризовать, то тогда выбор уже между
SwarmCache и JBoss TreeCache, тут думаю надо смотреть, т.к. разница в replication и invalidation может
быть существенна для разных usecase...
(кластеризация — это не только между серверами, но например между локальными hibernate в толстых клиентах тоже
можно попытаться использовать)
Здравствуйте, pvnic, Вы писали:
P>встала задача выбора кэш-провайдера для hibernate.
P>согласно хибернейтовской доке есть как минимум вот такие вот провайдеры:
P>Hashtable, EHCache, OSCache, SwarmCache, JBoss TreeCache. Разница между их возможностями сведенна в таблицу 19.1 (http://www.hibernate.org/hib_docs/v3/reference/en/html/performance.html).
P>вообщем из нее не очень ясно, когда какой провайдер нужно использовать, а какой нет.
Хотя непосредственно с настройкой кешй в хибере мне сталкиватся не приходилось, но как по мне тут все предельно ясно.
Hashtable — временное решение для демонстраций, прототипов, либо времени разработки. Там так и написано
not for production
SwarmCache и JBoss TreeCache — это кластерные кэши. Их нужно использовать в том случае если предполагается полезным закешированые данные "шарить" на весь кластер.
В остальных случаях EHCache и OSCache.
А чтобы сделать окончательный выбор, надо пойти и спросить у гугла вопросы "EHCache vs OSCache" либо "SwarmCache vs JBoss TreeCache". И там уже будут аргументы в пользу конкретного кеша.
Здравствуйте, Blazkowicz, Вы писали:
B>Хотя непосредственно с настройкой кешй в хибере мне сталкиватся не приходилось, но как по мне тут все предельно ясно.
B>Hashtable — временное решение для демонстраций, прототипов, либо времени разработки. Там так и написано not for production
слона то я и не заметил
B>SwarmCache и JBoss TreeCache — это кластерные кэши. Их нужно использовать в том случае если предполагается полезным закешированые данные "шарить" на весь кластер.
B>В остальных случаях EHCache и OSCache.
B>А чтобы сделать окончательный выбор, надо пойти и спросить у гугла вопросы "EHCache vs OSCache" либо "SwarmCache vs JBoss TreeCache". И там уже будут аргументы в пользу конкретного кеша.
ок, будем посмотреть