在redis中查询二级索引的最有效方法

时间:2016-12-05 09:59:45

标签: c# lua redis stackexchange.redis

使用c#在redis中查询二级索引的最有效(最快方式)方法是什么? (使用StackExchange.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脚本?流水线?

1 个答案:

答案 0 :(得分:0)

看起来你已经以最有效的方式做到了。

最快的可能是Lua脚本,但这样做会违背建议/要求明确传递所有触摸的密钥。

在可能的情况下,流水线技术总是很好,但由于你只是做了一个MGET,它就不会有效果。