// TODO: !!! routePattern implementation needs to be changed to Cas public bool TryRemove(CacheKey key) { // remove item var executeRemove = _memcachedClient.ExecuteRemove(key.HashBase64); // remove from routePatterns var routePatternEntries = GetRoutePatternEntries(key.RoutePattern); var oldCount = routePatternEntries.Count(); routePatternEntries = routePatternEntries.Where(x => x != key.HashBase64); if (routePatternEntries.Count() == oldCount) { return(executeRemove.Success); } var bytes = new List <byte>(); foreach (var routePatternEntry in routePatternEntries) { bytes.AddRange(new LengthedPrefixedString(routePatternEntry).ToByteArray()); } string keyForRoutePattern = GetKeyForRoutePattern(key.RoutePattern); _memcachedClient.ExecuteStore(StoreMode.Set, keyForRoutePattern, bytes.ToArray()); return(executeRemove.Success); }
void ICacheProvider.Remove(string cacheKey) { var result = client.ExecuteRemove(cacheKey); if (result.Success == false) { throw new Exception(result.Message, result.Exception); } }
public void Trigger <T>(string key, T signal) { lock (_tokens) { Token token; if (_tokens.TryGetValue(signal, out token)) { _tokens.Remove(signal); MemcachedClient client = new MemcachedClient(); client.ExecuteRemove(key); token.Trigger(); } } }
public bool TryRemove(CacheKey key) { var removeOperationResult = _memcachedClient.ExecuteRemove(key.HashBase64); return(removeOperationResult.Success); }
public void Remove(string cacheKey) { cacheClient.ExecuteRemove(cacheKey); }
public void Dispose() { _client.ExecuteRemove(_key); }