public List <ProductHash> GetAllProductHash(long companyId, List <long> productIds) { List <ProductHash> productHashs = new List <ProductHash>(); foreach (var subProductIds in Common.SplitArray(productIds.ToArray(), 100)) { while (true) { int iTry = 0; try { iTry++; var arKey = new RedisValue[subProductIds.Count]; for (int i = 0; i < subProductIds.Count; i++) { arKey[i] = subProductIds[i]; } productHashs.AddRange((from item in this._database.HashGet("c:" + companyId, arKey) where item.HasValue select ProductHash.FromJSON(item.ToString())).ToList()); break; } catch (Exception exception) { if (iTry > 5) { _log.Error(string.Format("Try {0} Mss {1}", exception.Message + exception.StackTrace, iTry)); } Thread.Sleep(10000); } } } return(productHashs); }
public List <ProductHash> GetAllProductHash(long companyId) { RedisValue[] arKey = _database.HashKeys("c:" + companyId.ToString()); List <ProductHash> lst = new List <ProductHash>(); var lstArray = Common.SplitArray <RedisValue>(arKey, 100); foreach (var arrayKey in lstArray) { try { lst.AddRange(this._database.HashGet("c:" + companyId, arrayKey.ToArray()).Select(item => ProductHash.FromJSON(item.ToString()))); } catch (Exception ex01) { _log.Error(ex01); } } return(lst); }