如何执行多哈希 redis 查询
Posted
技术标签:
【中文标题】如何执行多哈希 redis 查询【英文标题】:How to perform a multi-hash redis query 【发布时间】:2021-11-08 17:05:08 【问题描述】:我在 MOC273 等“文件夹”中组织了多个哈希键,
127.0.0.1:6379> HMSET MOC273:123654789 "H_W" "json->H_W->123654789" "H_Y" "json->H_Y->123654789"
OK
127.0.0.1:6379> HMSET MOC273:987654321 "H_W" "json->H_W->987654321" "H_Y" "json->H_Y->987654321"
OK
使用 HGETALL 我可以从哈希中获取所有数据
127.0.0.1:6379> HGETALL MOC273:123654789
1) "H_W"
2) "json->H_W->123654789"
3) "H_Y"
4) "json->H_Y->123654789"
如何获取 MOC273 中包含的所有哈希(名称以 MOC273 开头)之类的。
127.0.0.1:6379> HGETALL MOC273*
有可能吗?
Current structure of the redis
【问题讨论】:
嗯,使用KEYS
(documentation) 命令可以获得所有符合模式的密钥。只需阅读该页面中的警告,然后考虑您是否真的想将其投入生产。
KEYS
命令给我带来了所有的键,但不是每个键中包含的数据。我想只用一个命令来执行这个动作,所以它可以在原子时间内执行
【参考方案1】:
因此您可以使用 Redisearch 围绕 HASH 数据结构创建二级索引。这将使您能够更有效地搜索 HASH 数据。
https://oss.redis.com/redisearch/ - 快速入门应该可以帮助您入门
【讨论】:
以上是关于如何执行多哈希 redis 查询的主要内容,如果未能解决你的问题,请参考以下文章
死磕 Redis----- 如何排查 Redis 中的慢查询