我正在考虑将 Redis 用于我的下一个项目(内存中,快速),但现在我面临着弄清楚它如何以及是否可以真正实现我的目标的问题。目标是存储“大”(数百万)数量的固定长度位串,然后使用输入(查询)位串搜索数据库。搜索意味着返回满足以下条件的所有内容:
查询&值=查询
例如。如果查询中设置的所有位也在值中设置,则返回该键,例如。 bloom-filter 尽管在我的工作领域中通常不会这样调用它。
我找到了模块 RedisBloom但我已经从外部程序中获得了我的布隆过滤器(位串),我只想使用 RedisBloom 来存储它们和搜索(exists 命令)。因此,在我的例子中,“添加”命令应该按原样接受输入,而不是再次对其进行哈希处理。
这可能吗?如果没有其他建议?
最佳答案
不,这是不可能的,因为从这个意义上说,RedisBloom 是一个“黑匣子”——它管理自己的数据结构。
关于RedisBloom : Option to add items (bit strings) as is with no hashing?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56456975/