可以通过键值访问的复杂集合的外部商店
||
问题
我需要一个键值存储,它可以存储以下形式的值:
DS<DS<E>>
数据结构DS
可以是
List
,SortedSet
或an4ѭ
和E
可以是String
或byte-array
。
生成此数据非常昂贵,因此一旦将其放入存储中,我将仅对其执行读取查询。本质上,它是一个没有逐出的复杂对象缓存。
应用范例
一个应用程序的示例(可能很糟糕,但足以说明问题)正在存储文档中的标记化句子,您需要能够快速访问给出documentID
的第p个句子的第q个单词。在这种情况下,我将其存储为K-V对,如下所示:
K - docID
V - List<List<String>>
String word = map.get(docID).get(p).get(q);
我更喜欢避免与应用程序集成的Map解决方案(例如Java中的EhCache)。
我曾与Redis合作,但它似乎不支持第二层数据结构的复杂性。还有其他可以帮助我解决用例的K-V解决方案吗?
更新:
我知道我可以序列化/反序列化对象,但是我想知道是否还有其他解决方案。
没有找到相关结果
已邀请:
3 个回复
窝头菊
变成
和ѭ12with,with14中的ѭ13giving和一个前缀为holding15ѭ的前缀。 通过这种结构,您只需两个操作就可以访问任何ѭ5。在某些情况下,您可以通过了解给定查询的DS2 ID来将其简化为单个操作。
寒健
镶骄册筷