Exemplo n.º 1
0
        // 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);
        }
Exemplo n.º 2
0
        void ICacheProvider.Remove(string cacheKey)
        {
            var result = client.ExecuteRemove(cacheKey);

            if (result.Success == false)
            {
                throw new Exception(result.Message, result.Exception);
            }
        }
Exemplo n.º 3
0
        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();
                }
            }
        }
Exemplo n.º 4
0
        public bool TryRemove(CacheKey key)
        {
            var removeOperationResult = _memcachedClient.ExecuteRemove(key.HashBase64);

            return(removeOperationResult.Success);
        }
Exemplo n.º 5
0
 public void Remove(string cacheKey)
 {
     cacheClient.ExecuteRemove(cacheKey);
 }
 public void Dispose()
 {
     _client.ExecuteRemove(_key);
 }