NHibernate の syscache の有効期限はどのように機能しますか?
有効期限を 10 分に設定し、1 分ごとにエンティティを追加した場合、最初の 10 分 (アプリケーションの開始後) が終了すると、10 個のエンティティすべてが削除されますか?それとも最初のエンティティのみが削除されますか?
すべてのデータがキャッシュから完全に削除されていますか、それともエンティティごとにタイムスタンプがありますか?
NHibernate の syscache の有効期限はどのように機能しますか?
有効期限を 10 分に設定し、1 分ごとにエンティティを追加した場合、最初の 10 分 (アプリケーションの開始後) が終了すると、10 個のエンティティすべてが削除されますか?それとも最初のエンティティのみが削除されますか?
すべてのデータがキャッシュから完全に削除されていますか、それともエンティティごとにタイムスタンプがありますか?
SysCache ソース コードの内部を調べたところ、次の行に絶対期限切れであることが明確に示されています。
cache.Add(
cacheKey,
new DictionaryEntry(key, value),
new CacheDependency(null, new[] {rootCacheKey}),
DateTime.Now.Add(expiration),
System.Web.Caching.Cache.NoSlidingExpiration,
priority,
null);
Rippoが指摘したように、スライディング有効期限。
http://docs.huihoo.com/hibernate/nhibernate-reference-1.2.0/caches.html