c# - 一次调用从 Redis 读取多个哈希值

标签 c# redis stackexchange.redis

我想从 Redis 中的多个哈希中搜索具有最高值的键。我的 key 是这种格式 -

emp:1, emp:2,...emp:n

每个值都采用这种格式 -

1. name ABC
2. salary 1234
3. age 23

我想从这些哈希中找到一位最年长的员工。根据我对 Redis 的了解,没有办法在一次调用中读取多个哈希值。这意味着我需要遍历所有 emp 键并对每个键调用 HGETALL 以获得所需的结果(我确实有一个存储所有 emp id 的集合)。

有没有办法可以最大限度地减少点击次数以使其正常工作?

最佳答案

您可以使用 Redis 中的管道来运行多个命令并获取它们的响应。这应该允许您执行多个 HGETALL 命令。请参阅docs了解更多信息。不确定您在 C# 中使用哪个库,但它应该为您提供一种使用管道的方法。

您还可以创建一个 Lua 脚本来迭代 Redis 键并返回最年长员工的哈希值。

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

相关文章:

azure - 清除 Azure Redis 缓存

c# - 如何在 C# 中将复杂对象存储在 Redis 哈希中?

c# - .NET NodaTime 如何创建自定义时区?

c# - 从 MVC 4 中的 ViewModel 创建下拉列表

java - 调用http组件时 Camel 线程ID发生变化

redis 2.8.7 sentinel linux环境配置问题,如何让它自启动,应该订阅什么?

Redis 集群主从 - 无法添加 key

c# - 如何在 C# 中使用 redis pipiline(StackExchange.Redis)?

c# - 如何不使用 UserControl.dispose()

C# VS 2010 编辑时报错但编译运行成功