ASP.NET キャッシュを使用してクエリ結果を NHibernate 2nd Level Caching の上にキャッシュし、パフォーマンスを向上させることを検討する必要がありますか?
1 に答える
NHibernateの第2レベルのキャッシュで十分だと思います。同じクエリ結果をキャッシュするためにasp.netキャッシュを使用することにより、追加のオーバーヘッドは必要ありません。ただし、究極のパフォーマンスが必要な場合は、IISカーネルキャッシュ(ネイティブ出力キャッシュ)を使用して、レンダリングされたページとコントロールをキャッシュできます。また、NHibernateProfilerを使用してアプリケーションのプロファイリングを行うことをお勧めします。キャッシュミスとクエリに関する多くの有用な情報がいくつかの良い推奨事項とともに表示されます。
編集:
NHibernate.SysCache2はASP.NETキャッシュを使用し、SQL依存関係ベースの有効期限をサポートしているため、少し遅くなります。つまり、データベース内の関連データが変更されたときに自動的に有効期限が切れるように特定のキャッシュ領域を構成できます。
また、ViewModelをキャッシュしてみることができます。しかし、それらをキャッシュできる場合は、生成されたビューをキャッシュすることもできます。これは、はるかに優れた高速です。そして、この記事はあなたに役立つかもしれません-http://haacked.com/archive/2009/05/12/donut-hole-caching.aspx