NHibernate最佳实践(使用大量静态数据查询缓存)

时间:2010-06-28 13:38:14

标签: nhibernate caching query-cache

我们有一种情况,我们觉得我们没有充分利用NHibernate的功能,这会降低性能。对于这个问题,实际情况简化为“有帖子的博客”的例子。

博客网站,每个用户都可以拥有自己的博客,其中包含任意数量的帖子。因此,有一个用以下列定义的帖子表:

id, blog_id, post_title, post_contents

大多数博客很少更新,而有些博客经常更新“叽叽喳喳”。读取的次数多于写入次数。

每个博客的首页显示最新的5个条目。

SELECT TOP 5 * FROM blog_posts WHERE blog_id = ?

这将导致在第二级缓存和查询缓存中放置许多元素。

我们的问题是,由于少数博客经常更新,因此销毁99%以上的博客的缓存查询结果会被销毁。

你们其他人通常如何解决这个问题?什么是最佳实践?

1 个答案:

答案 0 :(得分:1)

这是一个ASP.NET应用程序吗?对于这种类型的应用程序,我会在NHibernate的二级缓存之前研究ASP.NET的页面输出缓存功能。