【发布时间】:2011-10-31 15:29:01
【问题描述】:
我的 MVC 应用程序上的 SysCache/SysCache2 有问题。我的配置似乎是正确的。就像网络上无数的例子一样,我已经设置好了。
在我的课堂上,我输入了:Cache.Region("LongTerm").NonStrictReadWrite().IncludeAll();
这是我为应用程序缓存所做的测试。
[Test]
public void cache()
{
using (var session = sessionFactory.OpenSession())
using (var tx = session.BeginTransaction())
{
var acc = session.QueryOver<Log>().Cacheable().List();
tx.Commit();
}
var test = sessionFactory.Statistics.SecondLevelCacheHitCount;
using (var session = sessionFactory.OpenSession())
{
var acc = session.QueryOver<Log>().List();
}
var test1 = sessionFactory.Statistics.SecondLevelCacheHitCount;
}
正如我在会话工厂统计信息中看到的那样,第一条语句被缓存(例如 230 条记录)。 如果我理解正确,下面的第二条语句不应该命中数据库,而是缓存。 这里的问题是它无论如何都会进入数据库。用探查器检查以 100% 确定。
我不知道我在这里做错了什么。有人有想法吗?
【问题讨论】:
标签: model-view-controller nhibernate fluent-nhibernate syscache2 syscache