Вы можете указать срок действия вашего элемента при добавлении его в кеш, используя метод Add CacheManager:
public void Add (
string key,
Object value,
CacheItemPriority scavengingPriority,
ICacheItemRefreshAction refreshAction,
params ICacheItemExpiration[] expirations
)
В этом заведомо неправдоподобном примере, если цена продукта меньше 100, продукт кэшируется в течение 24 часов, в противном случае срок его действия истекает через 1 минуту после последнего времени доступа из кэша.
Product[] products = GetProducts();
CacheManager cache = CacheFactory.GetCacheManager();
AbsoluteTime twentyFourHoursLater = new AbsoluteTime(DateTime.Now.AddHours(24));
SlidingTime oneMinuteSlidingTime = new SlidingTime(TimeSpan.FromMinutes(1));
foreach (Product product in products)
{
if (product.ProductPrice < 100)
{
cache.Add(product.ProductID, product, CacheItemPriority.Normal, null,
twentyFourHoursLater);
}
else
{
cache.Add(product.ProductID, product, CacheItemPriority.Normal, null,
oneMinuteSlidingTime);
}
}