public void AddOrUpdate(string serviceName, Guid serviceId, IServiceInstance instance) { if (!_cache.TryGetValue(serviceName, out var cacheRecord)) { cacheRecord = new InstanceCacheRecord(); _cache.TryAdd(serviceName, cacheRecord); } cacheRecord.InstanceMap.AddOrUpdate(serviceId, instance, (id, old) => instance); cacheRecord.VersionUp(); }
public InstanceCacheRecord GetCacheRecord(string serviceName) { if (!_cache.TryGetValue(serviceName, out var cacheRecord)) { // 如果不存在,则创建一个空记录 cacheRecord = new InstanceCacheRecord(); _cache.TryAdd(serviceName, cacheRecord); } return(cacheRecord); }