Redis
 sql >> Base de Dados >  >> NoSQL >> Redis

Como pesquisar no redis por chaves de hash?


Você não pode. O Redis é um armazenamento de valor-chave, não um banco de dados relacional.

Para pesquisar dados específicos, você precisa criar um caminho de acesso a esses dados. Por exemplo, para obter os usuários com idade =25, você precisa criar um índice para mapear os valores de idade para os usuários. Isso pode ser feito com um conjunto. Este é o mesmo para o nome.

Depois de ter conjuntos de idade e nome, você pode pesquisar usuários cruzando os conjuntos. Por exemplo:
# Add 3 users
hmset user:1 user_name lee age 21
hmset user:2 user_name david age 25
hmset user:3 user_name chris age 25

# Maintain age index
sadd age:21 1
sadd age:25 2 3

# Maintain name index
sadd name:lee 1
sadd name:david 2
sadd name:chris 3

# Get the ID of users having age = 25 and name = lee
sinter age:25 name:lee
  -> will return an empty set