Как использовать многоключевой или вторичный индекс в кеше Redis? - PullRequest
0 голосов
/ 13 июля 2020

Мне нужно использовать два значения ключа в кеше Redis, чтобы я мог получать данные на основе одного ключа? Пожалуйста, помогите в этом,

Оба ключа будут строковыми, а значение будет сущностью, в которой также будут присутствовать значения ключей.

Пример:

:

json структура:

    result{
         a{ 
           key: <something>
           b:<something>
           c:<something>
    } 
   }

Мне нужно получить значение из redis, используя ключ или 'b', но у меня не было бы обоих значений одновременно .

1 Ответ

0 голосов
/ 14 июля 2020

Для реализации этой функции необходимо построить простой инвертированный индекс, как на диаграмме ниже, хранить ваши данные в виде трех частей.

Данные индекса с инвертированным индексом

  • Построить два индекса для двух ключей индекс представляет собой просто тип Redis String, ключ использует формат, например index: {значение ключа}, значение хранится как ключ документа, который является строкой JSON.
  • Строка json также сохраняется как тип Redis String, ключ - Do c: {ID}, идентификатор может генерироваться динамически, например UUID / GUID.

Получить документ по индексу ( ключ 1 или ключ N)

  • Объедините значение для индексации: {значение ключа} формат
  • Используйте объединенный строковый ключ для вызова Redis, чтобы получить do c ключ
  • Используйте клавишу do c, чтобы вызвать Redis для получения тела do c.

введите описание изображения здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...