【发布时间】:2022-01-20 17:33:42
【问题描述】:
是否有现有的内存中生产就绪的 KV 存储允许我通过多个键中的任何一个检索单个值?
假设我有数百万个具有关联主键的不可变实体。这个实体中的任何一个都可以有多个别名,最常见的情况是通过这样的别名检索实体(所有请求的 90%)。第二种常见情况是能够通过主键检索实体,然后放入新的别名记录(最后 10%)。关于这一步的一个特别之处 - 它总是由别名搜索前置,并且只有在别名搜索不成功时才会发生。 整个数据集确实适合 RAM,但如果整个记录数据将跨所有别名复制,则可能不适合。 我非常关心数据检索延迟,不太关心写入速度。
这可以使用 Redis 在两个顺序查找中完成,也可以通过任何 SQL/Mongodb 完成。我认为这两种方式都不是最理想的。第一个显然是因为每次搜索尝试都需要两次往返,第二个是因为延迟问题。
有什么建议吗?
【问题讨论】:
-
你检查Redis模块RediSearch了吗?
-
@GuyKorland 不,我肯定会尝试的。感谢您的建议。您知道模块是否具有与 Redis 查找相当的性能吗?
-
这是一个高度优化的模块,但显然如果你要运行复杂的查询,它就会有它的开销
标签: database redis key-value key-value-store