使用 StackExchange.Redis 从 Redis 获取多个哈希值
Getting multiple hashes from redis using StackExchange.Redis
我需要从 Redis 服务器获取大约 10k 的哈希值。由于在 redis 中没有获取多个哈希的命令,我使用 db.HashGetAllAsync()
调用遍历所有键,然后等待所有任务完成。尽管它有效,但在这些调用期间,我在 RedisLabs 仪表板上看到了显着的延迟峰值。
有什么方法可以同时获取多个哈希值吗?也许有任何 ConnectionMultiplexer
设置可以帮助解决这种情况?
没有 varadic hgetall
,所以是的:最简单的方法是通过管道传输大量个体 hgetall
。您唯一可以 甚至可能做的事情 是使用 Lua 脚本 (eval
/evalsha
) 在每个项目中生成多个项目,但我看不出这将如何减少服务器负载或带宽,因此似乎不值得尝试!
无论如何,是的:这将在服务器上生成一些工作。
我需要从 Redis 服务器获取大约 10k 的哈希值。由于在 redis 中没有获取多个哈希的命令,我使用 db.HashGetAllAsync()
调用遍历所有键,然后等待所有任务完成。尽管它有效,但在这些调用期间,我在 RedisLabs 仪表板上看到了显着的延迟峰值。
有什么方法可以同时获取多个哈希值吗?也许有任何 ConnectionMultiplexer
设置可以帮助解决这种情况?
没有 varadic hgetall
,所以是的:最简单的方法是通过管道传输大量个体 hgetall
。您唯一可以 甚至可能做的事情 是使用 Lua 脚本 (eval
/evalsha
) 在每个项目中生成多个项目,但我看不出这将如何减少服务器负载或带宽,因此似乎不值得尝试!
无论如何,是的:这将在服务器上生成一些工作。