按前缀搜索 Redis 键的最佳方式是什么?

问题描述 投票:0回答:2

例如,我在redis中的某些键下存储了一个带有前缀

doc:

的值
doc:office:room_1
doc:office:room_2
doc:reception

假设我想找到键前缀

doc:office:

如何在

KEYS
SCAN
命令旁边通过前缀快速搜索按键?

我已经检查了Redis Search,但它仅适用于字段,而不适用于键本身。 我可以以某种方式添加索引键吗?

redis
2个回答
3
投票

您可以自己管理索引。例如,您可以有一个名为 doc:office 的 Set。每当您添加或删除以 doc:office 开头的键时,您都可以从集合中添加或删除该字符串。然后,如果您需要带有该前缀的所有键,只需获取 Set 的成员即可。

像这样:

> SET doc:office:room_1 data
> SADD doc:office doc:office:room_1

> SET doc:office:room_2 moardata
> SADD doc:office doc:office:room_2

> SMEMBERS doc:office
1) doc:office:room_1
2) doc:office:room_2

0
投票

您也可以尝试 - https://treds.io/

专为基于前缀的键搜索而设计。

© www.soinside.com 2019 - 2024. All rights reserved.