Redis
 sql >> Base de données >  >> NoSQL >> Redis

Comment rechercher dans redis des clés de hachage ?

Vous ne pouvez pas. Redis est un magasin clé-valeur, pas une base de données relationnelle.

Afin de rechercher une donnée spécifique, vous devez créer un chemin d'accès à cette donnée. Par exemple, pour obtenir les utilisateurs ayant l'âge =25 ans, vous devez créer un index pour mapper les valeurs d'âge aux utilisateurs. Cela peut être fait avec un ensemble. Il en est de même pour le nom.

Une fois que vous avez des ensembles d'âge et de nom, vous pouvez rechercher des utilisateurs en recoupant les ensembles. Par exemple :

# 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