private void ServiceCacheManager_Add(object sender, ServiceCacheEventArgs e) { var key = GetKey(e.Cache.CacheDescriptor); if (CacheContainer.IsRegistered <RedisContext>(e.Cache.CacheDescriptor.Prefix)) { var redisContext = CacheContainer.GetService <RedisContext>(e.Cache.CacheDescriptor.Prefix); _concurrent.GetOrAdd(key, e.Cache); ConsistentHash <ConsistentHashNode> hash; redisContext.dicHash.TryGetValue(e.Cache.CacheDescriptor.Type, out hash); if (hash != null) { foreach (var node in e.Cache.CacheEndpoint) { try { var hashNode = node as ConsistentHashNode; var addr = string.Format("{0}:{1}", hashNode.Host, hashNode.Port); hash.Remove(addr); hash.Add(hashNode, addr); } catch (Exception ex) { _logger.LogError(ex.Message); } } } } }
private void ServiceCacheManager_Add(object sender, ServiceCacheEventArgs e) { var key = GetKey(e.Cache.CacheDescriptor); var redisContext = CacheContainer.GetService <RedisContext>(e.Cache.CacheDescriptor.Prefix); _concurrent.GetOrAdd(key, e.Cache); ConsistentHash <ConsistentHashNode> hash; redisContext.dicHash.TryGetValue(e.Cache.CacheDescriptor.Type, out hash); if (hash != null) { foreach (var node in e.Cache.CacheEndpoint) { var hashNode = node as ConsistentHashNode; hash.Remove(hashNode); hash.Add(hashNode); } } }
private void ServiceCacheManager_Add(object sender, ServiceCacheEventArgs e) { SaveConfiguration(e.Cache); }