Более простой способ получить какой-то ключ: ключ: список в Redis? - PullRequest
0 голосов
/ 19 октября 2018

Итак, у меня есть список рангов, у каждого ранга есть список разрешений.Мне нужно хранить их в Redis.

Проблема в том, что сервер, загружающий эти ранги из Redis, не знает, сколько существует рангов / названия рангов.

Так что ярешил поместить "ranks": список рангов в redis, а затем "rank": список разрешений, чтобы сервер мог перебирать список "ranks" и получать список разрешений через часть "rank".

Однако это немного неэффективно, так как для этого мне нужно создать два конвейера.

Мне было интересно, есть ли способ создать как ключ: ключ: список типов данных на Redis?

Например,

"ranks", rank0, list

"ranks", rank1, список разрешений

и т. д.

В настоящее время у меня есть

"ranks", список рангов

"rank0", список разрешений

Надеюсь, это имеет смысл.

1 Ответ

0 голосов
/ 20 октября 2018

Я могу придумать два варианта:

  • Создать скрипт Lua для задачи.Преимущество состоит в том, что вы удалите все обратные и обратные обходы сети, которые вам нужны (но вам все равно нужно выполнить все вызовы LRANGE для всех списков)
  • Сохранить ключи в хэше, изначение хэша является сериализованной версией списка (например, JSON).В вашем коде вы бы сделали один вызов Redis, но вам нужно как-то обработать эту информацию

Надеюсь, это поможет

...