diff --git a/src/JiShe.CollectBus.Application/RedisDataCache/RedisDataCacheService.cs b/src/JiShe.CollectBus.Application/RedisDataCache/RedisDataCacheService.cs index e846ada..67a435d 100644 --- a/src/JiShe.CollectBus.Application/RedisDataCache/RedisDataCacheService.cs +++ b/src/JiShe.CollectBus.Application/RedisDataCache/RedisDataCacheService.cs @@ -492,20 +492,14 @@ return {#result_members, result_members, result_scores, hash_data}"; var scores = ((object[])scriptResult[2]).Cast().Select(decimal.Parse).ToList(); var hashData = ((object[])scriptResult[3]).Cast().ToList(); - var validItems = members.Select((m, i) => + var validItems = members.AsParallel() + .Select((m, i) => { - try - { - return !string.IsNullOrEmpty(hashData[i]) - ? BusJsonSerializer.Deserialize(hashData[i]) - : null; - } - catch (Exception ex) - { - _logger.LogError($"反序列化失败: {m} - {ex.Message}"); - return null; - } - }).Where(x => x != null).ToList(); + try { return BusJsonSerializer.Deserialize(hashData[i]); } + catch { return null; } + }) + .Where(x => x != null) + .ToList(); var hasNext = validItems.Count > pageSize; var actualItems = hasNext ? validItems.Take(pageSize) : validItems;