Database 如何根据散列中的键/值在Redis中查找键/值数据并将其添加到散列中?

Database 如何根据散列中的键/值在Redis中查找键/值数据并将其添加到散列中?,database,hash,redis,key,Database,Hash,Redis,Key,我的Redis数据存储中有大量的键,它们都有任意长的随机十六进制文本名 所有散列键中都有一个名为name的键,该键有一个值 当我不知道某个散列的键值在哪里时,如何才能找到具有某个唯一名称值的散列?(因此我必须在所有散列中搜索该值-我知道这很糟糕)-例如,将字段color:blue添加到具有唯一名称:f-377的哈希中,我建议您创建一个附加哈希,该哈希将包含所有这些唯一值,并在长名称上映射。又名自己的索引 所以您需要创建新的散列,遍历所有现有的键并添加字段(每个键一个字段)。将来,当您需要创建新密

我的Redis数据存储中有大量的键,它们都有任意长的随机十六进制文本名

所有散列键中都有一个名为name的键,该键有一个值


当我不知道某个散列的键值在哪里时,如何才能找到具有某个唯一名称值的散列?(因此我必须在所有散列中搜索该值-我知道这很糟糕)-例如,将字段
color:blue
添加到具有唯一
名称:f-377
的哈希中,我建议您创建一个附加哈希,该哈希将包含所有这些唯一值,并在长名称上映射。又名自己的索引

所以您需要创建新的散列,遍历所有现有的键并添加字段(每个键一个字段)。将来,当您需要创建新密钥时,您也需要将新字段添加到索引哈希中。
在这个索引hash-O(1)中搜索,这是您能得到的最好结果。

不幸的是,我不是控制此数据原始传播的人。因此这很糟糕。搜索所有的键是非常昂贵的-O(n),没有其他方法比添加新的索引结构更快地找到您请求的对象。如果可能的话,您可以使用Lua脚本与传播数据的其他人签订更严格的合同。您可以像使用SQL数据库中的存储过程一样使用它们。