使用 Redis 创建“记录”时,您可以创建包含多个字段的哈希。例如:
HMSET myhash field1 "Hello" field2 "World"
HMSET myhash2 field1 "Goodbye" field2 "World"
您可以通过知道键值来检索它,但是我想知道有没有办法检索在 field2 中具有“世界”的所有散列?
redis中没有索引,也没有实现SQL。这是一个键值存储。你提供一个键,它就会给你一个值。
也就是说,您可以通过自己维护二级索引来实现这一点。例如:
创建记录和索引条目
HMSET myhash field1 Hello field2 World
SADD field2_world myhash
更新记录,删除旧的索引条目,创建新的
SREM field2_world myhash
HMSET myhash field2 Mundo
SADD field2_mundo myhash
查找所有包含“世界”的记录field2
SMEMBERS field2_world
我希望你能明白。
对于下一位读者,SORT 命令可能有助于使用“BY 模式”参数
HMSET myhash field1 Hello field2 World
SORT myhash BY World