Redis
 sql >> Datenbank >  >> NoSQL >> Redis

Wie suche ich in Redis nach Hash-Schlüsseln?

Du kannst nicht. Redis ist ein Schlüsselwertspeicher, keine relationale Datenbank.

Um nach bestimmten Daten zu suchen, müssen Sie einen Zugriffspfad zu diesen Daten erstellen. Um beispielsweise die Benutzer mit dem Alter =25 zu erhalten, müssen Sie einen Index erstellen, um die Alterswerte den Benutzern zuzuordnen. Mit einem Set ist das möglich. Dies gilt auch für den Namen.

Sobald Sie Sätze für Alter und Namen haben, können Sie Benutzer suchen, indem Sie die Sätze schneiden. Zum Beispiel:

# 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