Проблема
Мне нужно хранилище значений ключей, которое может хранить значения следующей формы:
DS<DS<E>>
, где структура данных DS
может быть List
, SortedSet
или Array
, а E
может быть String
или byte-array
.
Этогенерировать эти данные очень дорого, поэтому, как только я положу их в хранилище, я буду выполнять только запросы на чтение.По сути, это сложный объектный кеш без исключений.
Пример приложения
A (возможно, плохой, но достаточный для прояснения) пример приложения хранит токенизированные предложения издокумент, в котором вам нужно иметь быстрый доступ к четвертому слову пятого предложения , указанному documentID
.В этом случае я буду хранить его в виде пары KV следующим образом:
K - docID
V - List<List<String>>
String word = map.get(docID).get(p).get(q);
Я предпочитаю избегать интегрированных с приложениями решений Map (таких как EhCache в Java).
У меня естьработал с Redis, но он не поддерживает второй уровень сложности структуры данных.Любые другие решения KV, которые могут помочь моему варианту использования?
Обновление :
Я знаю, что могу сериализовать / десериализовать свой объект, но мне было интересно, есть лиесть другое решение.