1

我试图通过按键同时获得多个集合。我正在使用 Azure Redis 的基本层,以及最新的 Stackexchange.Redis (1.1.608)

这是我的代码:

var tasks = new List<Task<RedisValue[]>>();
foreach (var key in keys)
{
   tasks.Add(redisCacheDB.SetMembersAsync(key));
}
var buildLinksJsonArray = await Task.WhenAll(tasks);

对于约 120 个键(其中大多数不存在),完成管道需要约 10 秒。我究竟做错了什么?

我也尝试过 SetScan,但我永远无法让它不超时。另外,我不确定是否要按顺序执行 120 SetScan。

谢谢,

编辑:每组只有约 20 名成员。我昨天尝试了一些不同的方法:

批处理:大约需要 5 秒

Set Union:大约需要 1~2 秒。(我做 redis.SetUnion(键列表))

现在我正在使用 Set Union,因为它花费的时间最短。但是,我仍然认为 2 秒比检索 120 组所需的时间要长得多。有人知道吗?我愿意接受建议。

4

0 回答 0