public void SetCacheProductHash(long companyId, ProductHash product) { while (true) { try { _database.HashSet("c:" + companyId, new HashEntry[] { new HashEntry(product.Id, product.getJSON()) }); return; } catch (Exception ex) { _log.Error(ex); Thread.Sleep(1000); } } }
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); }