/// <summary> /// 执行批量操作 /// </summary> /// <param name="timeout"></param> /// <returns></returns> public List <string> Execute(int timeout = 10 * 1000) { return(TaskHelper.Run((token) => { List <string> result = null; lock (SyncRoot) { if (!_batchData.Any()) { return null; } result = new List <string>(); StringBuilder sb = new StringBuilder(); foreach (var item in _batchData) { sb.Append(item.Cmd); } _redisCode.Request(sb.ToString()); foreach (var item in _batchData) { var data = _redisCode.Decoder <string>(item.RequestType, token); result.Add(data.Data); } } return result; }, timeout).GetAwaiter().GetResult()); }
/// <summary> /// 执行批量操作 /// </summary> /// <returns></returns> public IEnumerable <object> Execute() { if (!_batchData.Any()) { yield return(null); } StringBuilder sb = new StringBuilder(); foreach (var item in _batchData) { sb.Append(item.Cmd); } _redisCode.Request(sb.ToString()); foreach (var item in _batchData) { var data = _redisCode.Decoder(item.RequestType); yield return(data.Data); } }