Azure Redis-多个SMember低性能

Azure Redis-多个SMember低性能,redis,stackexchange.redis,azure-redis-cache,Redis,Stackexchange.redis,Azure Redis Cache,我正试图通过按键同时获得多个设置。我使用的是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.

我正试图通过按键同时获得多个设置。我使用的是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);
var tasks=newlist();
foreach(var键入键)
{
添加(redisCacheDB.SetMembersAsync(key));
}
var buildlinksjshonaray=等待任务.WhenAll(任务);
对于约120个密钥(大多数密钥不存在),完成管道需要约10秒。我做错了什么

我也尝试设置扫描,但我永远无法得到它,除非超时。此外,我不确定是否要按顺序执行120个SetScan

谢谢

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

配料:大约需要5秒钟

集合工会:大约需要1~2秒。(我做redis.SetUnion(键列表))


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

您可以尝试批处理或LUA脚本:我没有尝试LUA脚本,但批处理需要5秒钟。我一直觉得我做错了什么。检索120个字符串记录需要几百毫秒,所以我不知道为什么检索120个集需要这么长时间。您应该尝试使用LUA脚本,比较性能,并可能共享结果。如果在运行此测试时发送redis实例的名称和时间窗口(包括时区),我们还可以查看服务器端日志。Microsoft.com的azurecache您可以尝试批处理或LUA脚本:我没有尝试LUA脚本,但批处理需要5秒钟。我一直觉得我做错了什么。检索120个字符串记录需要几百毫秒,所以我不知道为什么检索120个集需要这么长时间。您应该尝试使用LUA脚本,比较性能,并可能共享结果。如果在运行此测试时发送redis实例的名称和时间窗口(包括时区),我们还可以查看服务器端日志。微软网站上的azurecache