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

标签 c# redis stackexchange.redis redislabs

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

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

最佳答案

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

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

关于c# - 使用 StackExchange.Redis 从 Redis 获取多个哈希值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29099455/

相关文章:

amazon-s3 - Hazelcast 对比 Redis 对比 S3

caching - 使用 HashTable 将对象作为值保存在 Redis 中

Azure Web 应用程序的多个实例的 Azure Redis 超时

c# - 在一行代码中将对象列表复制到另一个类型列表

c# - MVC 从另一个 MVC 应用程序渲染 (RenderPartial, RenderAction) Html

c# - 用于商业应用程序的本地 .NET 版本的 Rsync 可用吗?

c# - 错误 : Timeout performing GET using Redis

redis - 在 Redis 中处理不同数据集时的最佳实践是什么

c# - 异步 WCF 服务和调用持续时间性能计数器

c# - Azure Redis 无法连接到 Redis 服务器