Учитывая, что ваши Json данные являются вложенными / многоуровневыми, вы не можете сохранять их в Redis Ha sh напрямую. Таким образом, вам придется сериализовать значение и сохранить его как строку (другие форматы также будут работать, но давайте для начала будем использовать строку для простоты). Это будет означать, что когда вы get
используете значение Redis, вам придется десериализовать Json (хранится в виде строки) для соответствующего объекта в вашем коде. Следовательно, ключом будет id
, а значением будет остальная часть Json в виде строки.
Теперь перейдем к загрузке огромного Json в Redis, это два -шаговый процесс:
- Разобрать ваш входной файл Json и разбить его на формат, который можно использовать для 'Redis Mass Insertion' - https://redis.io/topics/mass-insert. Вы должны извлечь значение
_id
и использовать его в качестве ключа, извлечь остальные значения Json и использовать его в качестве value
в соответствии с форматом, показанным в ссылке выше. - Выполнить Redis массовая вставка с содержимым из предыдущего шага в качестве ввода. Вы можете добавить каждый вход в один
set
в Redis.
Теперь вы можете запускать get
запросов к set
, если у вас есть id
. Помните, Redis - это кэш в памяти, который настроен для более быстрого хранения и извлечения. Вы не можете запускать сложные запросы в Redis, если не по-разному сохраняете / дублируете данные для разных запросов.
Не стесняйтесь комментировать этот ответ, если вы хотите, чтобы я добавил больше деталей. Есть только так много, что я мог ответить в разделе комментариев вопроса. Поэтому я объединил все в этот ответ. Я могу добавить больше к этому, если вы хотите, чтобы я обратился к чему-либо конкретному c.
Дополнительные ссылки и образцы для массовой вставки: