Какая модель / фреймворк кэширования с Websphere Spring Hibernate Oracle?

StackOverflow https://stackoverflow.com/questions/448246

Вопрос

Мы рассматриваем возможность внедрения платформы кэширования для нашего приложения, чтобы помочь повысить общую производительность нашего сайта.

Мы работаем на Websphere 6.1, Spring, Hibernate и Oracle.В настоящее время основное внимание уделяется статическим данным или данным, которые очень мало меняются в течение дня, но часто используются.

Так что любая информация была бы отличной.Я начал поиск в Google и чтение, но хотел получить представление о том, что сработало для членов сообщества.Одна из вещей, которая нас интересует, - это возможность заставить систему аннулировать кэш, когда в подчеркивающих данных действительно происходит изменение.

Спасибо

Обновить:

Я наткнулся на статью на веб-сайте IBM, где говорится, что кэширование с поддержкой кластера в Hibernate совместно с WebSphere Application Server еще не определено;таким образом, пока не определено, поддерживается ли их использование.

Что думаешь по этому поводу?Мы работаем в кластеризованной среде.

Это было полезно?

Решение

Ну, система кэширования гибернации делает именно это, я использовал Тайник эффективно и легко с Переход в спящий режим (и система кэширования второго уровня).

Ясный это тоже может быть вариантом, в зависимости от ситуации. Поиск в режиме гибернации или Компас мог бы помочь с этим (хотя это может потребовать некоторой серьезной работы).

Репликация с использованием Терракотовый тоже может быть вариант, хотя я никогда этого не делал.

Другие советы

В Hibernate встроено кэширование первого и второго уровней.Вы можете настроить его на использование EhCache, OSCache, SwarmCache или C3P0 - на ваш выбор.

Вы также можете использовать кэш WebSphere по умолчанию, т. е.DynaCache для реализации кэша второго уровня.Это позволит вам администрировать, отслеживать и настраивать свой кэш с использованием инфраструктуры кэширования WebSphere

Я использовал ehCache и OSCache и обнаружил, что OSCache проще настраивать и использовать.

Одна из вещей, которые нас интересуют, - это возможность заставить систему аннулировать кэш, когда изменение действительно происходит в подчеркиваемых данных.

Из того, что я вижу, Hibernate на самом деле не выполняет вышеуказанное - из Документы Hibernate:

Будь осторожен.Кэши никогда не узнают об изменениях, внесенных в постоянное хранилище другим приложением (хотя они могут быть настроены на регулярное истечение срока действия кэшированных данных).

Очевидно, что это означает, что кэш не имеет ESP и не может определить, вызывало ли приложение, не входящее в кластер, прямой DML в базе данных, но я предполагаю, что то, что вы хотите, - это возможность предоставить службу для устаревших приложений для подключения и аннулирования кэша, когда они обновляют эти данные.И, насколько мне известно, нет никаких предложений о том, как это можно было бы сделать.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top