public async Task <DtcCacheItemOfOrder> GetAsync(string key) { return(await Task.Run(() => { var currentNode = _consistentHashing.CalculatedNode(key);//计算分配到哪个服务节点上 #if DEBUG Console.WriteLine($"查询节点:{currentNode}"); #endif IRedisClient redisClient = RedisContains.Connect(currentNode);//查找一个对应服务节点的redis客户端 return (DtcCacheItemOfOrder)redisClient.Contains[key]; })); }
public async Task <bool> SaveAsync(DtcCacheItemOfOrder cacheItem) { return(await Task.Run(() => { var currentNode = _consistentHashing.CalculatedNode(cacheItem.Key); //计算分配到哪个服务节点上 IRedisClient redisClient = RedisContains.Connect(currentNode); //查找一个对应服务节点的redis客户端 cacheItem.DtcNode = currentNode; #if DEBUG Console.WriteLine($"保存节点:{currentNode}"); #endif if (redisClient.Contains.ContainsKey(cacheItem.DtcNode)) { redisClient.Contains[cacheItem.Key] = cacheItem; } else { redisClient.Contains.Add(cacheItem.Key, cacheItem); } return true; })); }