Лучшие практики NHibernate (кеш запросов с большим количеством статических данных) - PullRequest
1 голос
/ 28 июня 2010

У нас есть ситуация, когда мы чувствуем, что не в полной мере используем возможности NHibernate, что снижает производительность. Реальная ситуация сводится к примеру «блоги с постами» по этому вопросу.

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

id, blog_id, post_title, post_contents

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

На первой странице каждого блога отображаются последние 5 записей.

SELECT TOP 5 * FROM blog_posts WHERE blog_id = ?

Это приведет к тому, что ряд элементов будет помещен как в кэш 2-го уровня, так и в кэш запросов.

Наша проблема в том, что результаты кэшированных запросов для блогов с 99% + чтений уничтожаются из-за небольшого количества часто обновляемых блогов. Как вы, другие, обычно решаете эту проблему? Каковы лучшие практики?

1 Ответ

1 голос
/ 28 июня 2010

Это приложение ASP.NET? Для приложений такого типа я хотел бы изучить возможности кэширования вывода страниц ASP.NET перед кэшированием NHibernate 2-го уровня.

...