将10万Redis的Hash表数据读取优化到13秒以内。
This commit is contained in:
parent
78127f7cea
commit
cadb69f4b9
@ -492,20 +492,14 @@ return {#result_members, result_members, result_scores, hash_data}";
|
||||
var scores = ((object[])scriptResult[2]).Cast<string>().Select(decimal.Parse).ToList();
|
||||
var hashData = ((object[])scriptResult[3]).Cast<string>().ToList();
|
||||
|
||||
var validItems = members.Select((m, i) =>
|
||||
var validItems = members.AsParallel()
|
||||
.Select((m, i) =>
|
||||
{
|
||||
try
|
||||
{
|
||||
return !string.IsNullOrEmpty(hashData[i])
|
||||
? BusJsonSerializer.Deserialize<T>(hashData[i])
|
||||
: null;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
_logger.LogError($"反序列化失败: {m} - {ex.Message}");
|
||||
return null;
|
||||
}
|
||||
}).Where(x => x != null).ToList();
|
||||
try { return BusJsonSerializer.Deserialize<T>(hashData[i]); }
|
||||
catch { return null; }
|
||||
})
|
||||
.Where(x => x != null)
|
||||
.ToList();
|
||||
|
||||
var hasNext = validItems.Count > pageSize;
|
||||
var actualItems = hasNext ? validItems.Take(pageSize) : validItems;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user