memcache как кеш второго уровня Nhibernate - PullRequest
1 голос
/ 13 августа 2011

У меня есть вопрос о кэшировании второго уровня с помощью NHibernate и memcache. Предположим, следующая конфигурация:

Сайт A использует DB_A. Данные из таблицы X кэшируются. Сайт B использует DB_B. Данные из таблицы X кэшируются.

Оба веб-приложения используют один сервер memcache.

Теперь у таблицы X в DB_A и DB_B, имеющих одинаковую схему, разные данные, поэтому строка с PK = 1 в DB_A НЕ будет теми же данными, что и строка с PK = 1 в DB_B.

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

1 Ответ

2 голосов
/ 15 августа 2011

Я не уверен, что у вас будут перекрытые, перезаписанные данные.Вам нужно проверить, какие ключи кеша используются.Тем не менее, интересные чтения, которые могут оказаться полезными:

http://ayende.com/blog/3976/nhibernate-2nd-level-cache

http://ayende.com/blog/3112/nhibernate-and-the-second-level-cache-tips

http://ayende.com/blog/1708/nhibernate-caching-the-secong-level-cache-space-is-shared

Последнее, вероятно, наиболееиспользовать для вас.Автор сделал что-то похожее на то, что вы пытаетесь сделать, за исключением того, что вы облегчаете свою жизнь, (каким-то образом) не имея конфликтов первичных ключей.

...