Доброе утро
Я пытаюсь интегрировать механизм кэширования в свой текущий проект и хотел спросить о передовом опыте и вопросах, которые у меня есть.
Мой web.config определяется следующим образом:
<configSections>
<section name="cachingConfiguration" type="Microsoft.Practices.EnterpriseLibrary.Caching.Configuration.CacheManagerSettings, Microsoft.Practices.EnterpriseLibrary.Caching, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
</configSections>
<cachingConfiguration defaultCacheManager="SomeName">
<cacheManagers>
<add expirationPollFrequencyInSeconds="600" maximumElementsInCacheBeforeScavenging="1000" numberToRemoveWhenScavenging="10" backingStoreName="Null Storage" type="Microsoft.Practices.EnterpriseLibrary.Caching.CacheManager, Microsoft.Practices.EnterpriseLibrary.Caching, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" name="SomeName" />
</cacheManagers>
<backingStores>
<add encryptionProviderName="" type="Microsoft.Practices.EnterpriseLibrary.Caching.BackingStoreImplementations.NullBackingStore, Microsoft.Practices.EnterpriseLibrary.Caching, Version=5.0.414.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" name="Null Storage" />
</backingStores>
</cachingConfiguration>
Когда я добавляю что-то в кеш, я использую следующий код:
ICacheManager manager = CacheFactory.GetCacheManager("SomeName");
if (manager.GetData(key) != null && IsCacheEnable)
{
specialChars = (Hashtable)manager.GetData(key);
}
else
{
manager.Add(key, specialChars, CacheItemPriority.Normal, null, new SlidingTime(new TimeSpan(0, 0, CacheExpirySecond)));
}
Из документации я вижу, что элементы, помещенные в кеш методом Add(string key, object value)
, не имеют срока действия. Однако я вижу, что метод Add(string key, object value, CacheItemPriority scavengingPriority, ICacheItemRefreshAction refreshAction, params ICacheItemExpiration[] expirations)
определяет временной интервал, указывающий, когда истечет срок действия кеша.
Мой вопрос: зачем нам определять свойство expirationPollFrequencyInSeconds
в файле web.config, когда нам нужно будет снова определить временной интервал при добавлении элементов в кеш с помощью второго метода Add? Я что-то упускаю? Спасибо