Redis - как найти запись в Hmset, используя только значение? - PullRequest
0 голосов
/ 11 января 2019

Мне нужно управлять «набором» данных о наличии аккаунтов. Пока что я создаю SET, как это:

 127.0.0.1:6379[2]> hmset accounts 73075 available
 OK
 127.0.0.1:6379[2]> hmset accounts 73076 reserved
 OK

127.0.0.1:6379[2]> hget accounts 73075 
"available"
127.0.0.1:6379[2]>

Вопросы

  1. Как мне сделать запрос, чтобы найти все «доступные» учетные записи? Я пытался найти несколько примеров в сети, но я оказался пустым. Я могу использовать неправильные ключевые слова для поиска в Google. Я собираюсь продолжать пытаться.
  2. Позже мне нужно расширить это, чтобы я не просто говорил, что учетная запись «зарезервирована», но мне нужно будет связать ее с именем. Хотите знать, если SET является правильным способом сделать это.

РЕДАКТИРОВАТЬ 1

Я только что нашел это Redis находит хэши по значениям полей

Попробую создать еще один индекс для себя. Но хороший ли это подход? Если вы чувствуете что-то смешное в моем коде / концепции, пожалуйста, дайте мне знать.

РЕДАКТИРОВАТЬ 2

Пока что это то, что я основал на статье выше:

 127.0.0.1:6379[2]> sadd johndoe@yahoo.com 73075
 (integer) 1
 127.0.0.1:6379[2]> smembers johndoe@yahoo.com
 1) "73075"

Полагаю, это может решить вопрос 2, где позже я смогу найти все записи Джона Доу. Но я до сих пор не могу понять, как найти все «доступные» аккаунты. Я мог бы также создать индекс для каждой доступной учетной записи. Но есть ли лучший способ?

РЕДАКТИРОВАТЬ 3

Возможно, это лучший подход? Создайте набор «Доступен» и заполните его всеми учетными записями.

 HMSET available 12345 dontneedthisfield

Затем, когда учетная запись зарезервирована, добавьте к другому набору SET, который называется зарезервирован:

 HMSET reserved 12345 johndoe
 HDEL available 12345

Это лучший подход?

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