gpt4 book ai didi

database - 使用 HMSET 查询 REDIS

转载 作者:IT王子 更新时间:2023-10-29 06:09:53 25 4
gpt4 key购买 nike

我正在使用 REDIS 数据存储,并且我创建了 HMSET,如下所示:

HMSET key:1 source 5 target 2
HMSET key:2 source 3 target 1
HMSET key:3 source 3 target 5
HMSET key:4 source 6 target 2
HMSET key:5 source 2 target 3

现在,我想根据提供的源和目标列表查询这些键。假设,source和target的列表是[2, 3, 6]

我想要一个像

这样的查询
select from key where source in[2, 3, 6] and traget in[2, 3, 6]

这会给我这样的结果

key:4 source 6 target 2 
key:5 source 2 target 3

最佳答案

对于这样的数据集(只有几组),您唯一的选择是迭代它们(在 lua 脚本中或通过提取到应用程序中)并通过检查哈希自行进行过滤。

要加快速度,您可以维护二级索引(同样,工作由您承担)。像这样的东西:

SADD source:3 key:2 key:3
SADD target:2 key:1 key:4

然后您可以通过发出 SINTERSTORE 命令相对快速地找到所有匹配的 key

SINTERSTORE found_keys source:2 source:3 source:6 target:2 target:3 target:6

您将在 found_keys 名称下找到您要查找的 key 。

尽管如此,如果您发现自己这样做,您应该问问自己:为什么我不放弃并使用支持 SQL 的数据库,因为我显然想要一个。

关于database - 使用 HMSET 查询 REDIS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32695790/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com