Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用StackExchange.redis从redis获取多个哈希_C#_Redis_Stackexchange.redis_Redislabs - Fatal编程技术网

C# 使用StackExchange.redis从redis获取多个哈希

C# 使用StackExchange.redis从redis获取多个哈希,c#,redis,stackexchange.redis,redislabs,C#,Redis,Stackexchange.redis,Redislabs,我需要从redis服务器获取大约10k哈希值。因为在redis中没有获取多个哈希的命令,所以我使用db.HashGetAllAsync()调用遍历所有键,然后等待所有任务完成。尽管它起作用了,但在这些通话过程中,我在RedisLabs仪表板上看到了一个戏剧性的延迟峰值 有什么方法可以同时获得多个哈希值?可能有任何连接多路复用器设置在这种情况下可能会有所帮助?没有varadichgetall,所以是的:最简单的方法是将大量的hgetall通过管道传输。您唯一可以做的另一件事是使用Lua脚本(eva

我需要从redis服务器获取大约10k哈希值。因为在redis中没有获取多个哈希的命令,所以我使用
db.HashGetAllAsync()
调用遍历所有键,然后等待所有任务完成。尽管它起作用了,但在这些通话过程中,我在RedisLabs仪表板上看到了一个戏剧性的延迟峰值


有什么方法可以同时获得多个哈希值?可能有任何
连接多路复用器
设置在这种情况下可能会有所帮助?

没有varadic
hgetall
,所以是的:最简单的方法是将大量的
hgetall
通过管道传输。您唯一可以做的另一件事是使用Lua脚本(
eval
/
evalsha
)在每个项目中生成多个项目,但我看不出这将如何减少服务器负载或带宽,因此似乎不值得尝试


无论哪种方式,都是这样:这将在服务器上生成一些工作。

我想在我试图获取10k哈希值的情况下使用Lua脚本将使其他redis调用排队,并进一步增加延迟。@Pauliusrk是的,我也这么想;在这里,IMO,您最好的选择是从slaveAre执行大容量散列读取。您是否正在运行此调用的多个调用,然后等待返回所有结果?如果是,您正在运行多少并发连接?