查询 Redis 中二级索引的最有效方式

使用 c# 和 StackExchange.Redis 库,查询 Redis 中二级索引的最有效(最快)方式是什么?

SET "users:departmentx" 中包含 10 万个或更多用户的键,实际用户信息存储在与集合值相同名称的键中。

所有用户都像 "user:1""user:2" 这样存储。

执行 "SSCAN" "users" 0 "COUNT" "100" 将返回下面这样的结果:

user:1
user:2
user:3
user:4
[...]

为了获取这些信息,我会调用

MGET <values from sscan above>

这将接收正确的数据。但是,查询所有用户的值的最快、最有效的方式是什么,换句话说,如何使用 SSCAN 的输出作为 MGET 的输入?

Lua 脚本? Pipelining?

点赞
用户3160475
用户3160475

看起来你已经用最有效的方式处理了。

最快的方式可能是使用 Lua 脚本,但这样做会违反显示传递所有涉及的键的推荐/要求。

如果可能的话,管道是很好的,但由于你只是在执行单个 MGET,所以不会起到作用。

2016-12-05 12:15:56