2012-10-26 72 views
0

NHibernate系統緩存如何工作到期?NHibernate系統緩存到期

如果我將過期設置爲10分鐘,並且每分鐘添加一個實體,當前10分鐘(應用程序啓動後)結束時,是否全部刪除了10個實體,還是隻有第一個實體?

所有數據完全從緩存中刪除,還是每個實體都有時間戳?

+1

現在是一個非常好的問題,我懷疑您每次設置區域到期的所有實體它包含。文檔並沒有真正地告訴你它是否是滑動緩存,http://docs.huihoo.com/hibernate/nhibernate-reference-1.2.0/caches.html。 Mimd你它說這'expiration =在每個項目到期之前要等待的秒數 – Rippo

回答

4

我只是看着裏面SysCache source code和該行明確指出,這是絕對過期:

cache.Add(
    cacheKey, 
    new DictionaryEntry(key, value), 
    new CacheDependency(null, new[] {rootCacheKey}), 
    DateTime.Now.Add(expiration), 
    System.Web.Caching.Cache.NoSlidingExpiration, 
    priority, 
    null);