Когда рекомендуется использовать кэш второго уровня в NHibernate - PullRequest
1 голос
/ 27 декабря 2011

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

Например: если у меня 3500 сотрудников (чего я до сих пор не знаю ...), будет ли полезно использовать кэш второго уровня?

Ответы [ 2 ]

2 голосов
/ 28 декабря 2011

Вы должны в основном использовать его для «статических» данных.Примером является веб-сайт, который занимается продажей авиабилетов через торговый сайт.Хозяйственная сумка, заказы и строки заказа - изменчивые данные.Они не кэшируются.

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

Итак, проведите различие между вашими статическими и изменчивыми данными.

Что именно кешировать, что нет и как долго;Всегда зависит от использования вашего приложения, конечно.При необходимости используйте разные области кэша с разным временем истечения.

1 голос
/ 28 декабря 2011

К сожалению, ответ на такой вопрос не тривиален.

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...