使用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脚本?流水线?
答案 0 :(得分:0)
看起来你已经以最有效的方式做到了。
最快的可能是Lua脚本,但这样做会违背建议/要求明确传递所有触摸的密钥。
在可能的情况下,流水线技术总是很好,但由于你只是做了一个MGET
,它就不会有效果。