我的 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% 确定。
我不知道我在这里做错了什么。有人有想法吗?