public void Invalidate(string className, object primaryKeyValue, SoodaCacheInvalidateReason reason) { if (logger.IsTraceEnabled) { logger.Trace("Invalidating object {0}({1}). Reason: {2}", className, primaryKeyValue, reason); } _rwlock.AcquireWriterLock(-1); try { SoodaCacheKey cacheKey = new SoodaCacheKey(className, primaryKeyValue); _objectCache.Remove(cacheKey); LruCache cachedCollectionsDependentOnClass = (LruCache)_collectionsDependentOnClass[className]; if (cachedCollectionsDependentOnClass != null) { foreach (string key in cachedCollectionsDependentOnClass.Keys) { _collectionCache.Remove(key); } cachedCollectionsDependentOnClass.Clear(); } } finally { _rwlock.ReleaseWriterLock(); } }
void ISoodaCache.Invalidate(string className, object primaryKeyValue, SoodaCacheInvalidateReason reason) { }
public void Invalidate(string className, object primaryKeyValue, SoodaCacheInvalidateReason reason) { if (logger.IsTraceEnabled) { logger.Trace("Invalidating object {0}({1}). Reason: {2}", className, primaryKeyValue, reason); } _rwlock.AcquireWriterLock(-1); try { SoodaCacheKey cacheKey = new SoodaCacheKey(className, primaryKeyValue); _objectCache.Remove(cacheKey); LruCache cachedCollectionsDependentOnClass = (LruCache)_collectionsDependentOnClass[className]; if (cachedCollectionsDependentOnClass != null) { foreach (string key in cachedCollectionsDependentOnClass.Keys) { _collectionCache.Remove(key); } cachedCollectionsDependentOnClass.Clear(); } } finally { _rwlock.ReleaseWriterLock(); } }
void ISoodaCache.Invalidate(string className, object primaryKeyValue, SoodaCacheInvalidateReason reason) { }