Ответ 1
Если ваша цель - проверить, что Bob
используется как name
для учетной записи abc
, решение должно быть примерно таким:
Примеры данных
{ "account": "abc", "name": "Bob", "lname": "Smith" }
{ "account": "abc", "name": "Sam", "lname": "Wilson" }
{ "account": "abc", "name": "Joe"}
Сделайте это ( с помощью redis set):
SADD abc:name Bob Sam Joe
SADD abc:lname Wilson Smith
Затем вы сможете проверить, используется ли Bob
как name
для учетной записи abc
, с помощью:
SISMEMBER abc:name Bob
> true
Для извлечения всех значений поля используйте SMEMBERS:
SMEMBERS abc:name
> ["Bob", "Sam", "Joe"]
Примечание:
- Имя ключа находится в формате
[account]:[field]
. Где[account]
может бытьabc
,xyz
и т.д., Аfield
может бытьname
,lname
... -
Если вы не хотите уникального значения, например:
abc:name ["Bob", "Sam", "Joe", "Bob", "Joe"]
тогда вы должны использовать список вместо