Мне нужно управлять «набором» данных о наличии аккаунтов. Пока что я создаю 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]>
Вопросы
- Как мне сделать запрос, чтобы найти все «доступные» учетные записи? Я пытался найти несколько примеров в сети, но я оказался пустым. Я могу использовать неправильные ключевые слова для поиска в Google. Я собираюсь продолжать пытаться.
- Позже мне нужно расширить это, чтобы я не просто говорил, что учетная запись «зарезервирована», но мне нужно будет связать ее с именем. Хотите знать, если 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
Это лучший подход?