2016-12-21 13 views
1

Я пытаюсь установить глобальную политику истечения срока действия для кэша Ignite, но она не работает, все записи все еще существуют даже после значения таймаута. Это, как я реализую это:Политика истечения срока действия кэша .NET Ignite

var igniteCache = this.igniteInstance.GetOrCreateCache<string, object>(configuraton); 

var expiringTime = TimeSpan.FromSeconds(100); 
igniteCache.WithExpiryPolicy(new ExpiryPolicy(expiringTime, expiringTime, expiringTime)); 

igniteCache.Put(key, value); 

Что я делаю неправильно?

ответ

1

WithExpiryPolicy возвращает новый экземпляр кэша, вы должны использовать его для вставки записи с истечением:

var igniteCacheExpiry = igniteCache.WithExpiryPolicy(new ExpiryPolicy(expiringTime, expiringTime, expiringTime)); 

igniteCacheExpiry.Put(key, value) 
+0

Спасибо! Является ли эта политика истечения срока действия действительной для всего кеша или просто ключ/значение? – Federico

+0

Политика экспирации влияет на все соответствующие операции возвращенного экземпляра ICache. Вы также можете установить глобальную политику истечения срока действия кэша через 'CacheConfiguration.ExpiryPolicyFactory'. –