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 レコード) に見られるようにキャッシュされます。私がそれを理解していれば、以下の2番目のステートメントはデータベースではなくキャッシュにヒットするはずです。ここでの問題は、とにかく DB に移動することです。プロファイラーで 100% 確実であることを確認しました。
ここで何が間違っているのかわかりません。誰にもアイデアがありますか?