我已创建Redis哈希并将其存储在条目下方-101- 104是哈希键
HMSET 101 field1 101 field2 yy field3 bb field4 300
HMSET 102 field1 102 field2 xx field3 bb field4 300
HMSET 103 field1 103 field2 yy field3 bb field4 300
HMSET 104 field1 104 field2 xx field3 bb field4 300
我想检索所有具有field2 = xx的记录(这类似于SQL中的where
子句)
我认为应该在field2上创建二级索引,但不确定如何编写。
答案 0 :(得分:0)
Redis不提供此类功能。
此外,Redis不允许创建任何索引。
或者,它提供了各种数据结构供您根据访问需求保存数据,例如:列表,哈希图,集合,排序集合等
对于您的情况,您必须手动遍历所有记录以获得所需的结果。
答案 1 :(得分:0)
我认为您应该为键和值创建一个反向索引。即
"value" ---> {{fieldName, HSETNAME}}
Ex : xx --> {{field2,101},{field3,104}}
在正确的键,值上进行迭代,您可以获得HMSET名称,然后可以从中检索所有记录。
仅仅是您必须根据用例来操纵键和值。 您可以在这里找到更多信息:How do you search for keys with a value? For example get all KEYS where the value is "somevalue"