public TValue this[TKey key] { get { DestoryExpiredItems(key); return(innerDictionary[key].Value); } set { DestoryExpiredItems(key); innerDictionary[key] = new ExpiringValueHolder <TValue>(value, expiryTimeSpan); } }
public void Set(TKey key, TValue value) { lock (_Lock) { if (innerDictionary.ContainsKey(key)) { innerDictionary[key] = new ExpiringValueHolder <TValue>(value); } else { innerDictionary.Add(key, new ExpiringValueHolder <TValue>(value)); } } DestoryExpiredItems(key); }
public void Set(TKey key, TValue value, TimeSpan TTL) { lock (_Lock) { if (innerDictionary.ContainsKey(key)) { innerDictionary[key] = new ExpiringValueHolder <TValue>(value, (TTL == null ? expiryTimeSpan : TTL)); } else { innerDictionary.Add(key, new ExpiringValueHolder <TValue>(value, (TTL == null ? expiryTimeSpan : TTL))); } } DestoryExpiredItems(key); }