Exemple #1
0
        public static StoreInfo GetHashStoreInfoSync(IStoreInfoResolveService storeInfoResolveService, IHashGroupRepositoryCacheProxy hashGroupRepositoryCacheProxy, string hashGroupName, params string[] keys)
        {
            var group = hashGroupRepositoryCacheProxy.QueryByNameSync(hashGroupName);

            if (group == null)
            {
                var fragment = new TextFragment()
                {
                    Code = TextCodes.NotFoundHashGroupByName,
                    DefaultFormatting = "没有找到名称为{0}的一致性哈希组",
                    ReplaceParameters = new List <object>()
                    {
                        hashGroupName
                    }
                };

                throw new UtilityException((int)Errors.NotFoundHashGroupByName, fragment);
            }

            //获取前缀的哈希节点关键字,
            var strKey = group.GetHashNodeKeySync(string.Join(".", keys), 1, 2, 3);

            //解析关键字为服务器信息和数据表信息
            var storeResult = storeInfoResolveService.ExecuteSync(strKey);

            return(storeResult);
        }
Exemple #2
0
        public static StoreInfo GetHashStoreInfoSync(HashGroup group, IStoreInfoResolveService storeInfoResolveService, params string[] keys)
        {
            //获取前缀的哈希节点关键字,
            var strKey = group.GetHashNodeKeySync(string.Join(".", keys), 1, 2, 3);

            //解析关键字为服务器信息和数据表信息
            var storeResult = storeInfoResolveService.ExecuteSync(strKey);

            return(storeResult);
        }