使用 StackExchange.Redis 从 Redis 获取多个哈希值

Getting multiple hashes from redis using StackExchange.Redis

我需要从 Redis 服务器获取大约 10k 的哈希值。由于在 redis 中没有获取多个哈希的命令,我使用 db.HashGetAllAsync() 调用遍历所有键,然后等待所有任务完成。尽管它有效,但在这些调用期间,我在 RedisLabs 仪表板上看到了显着的延迟峰值。

有什么方法可以同时获取多个哈希值吗?也许有任何 ConnectionMultiplexer 设置可以帮助解决这种情况?

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

无论如何,是的:这将在服务器上生成一些工作。