sql >> Databasteknik >  >> NoSQL >> Redis

Hur söker man i redis efter hash-nycklar?

Du kan inte. Redis är ett nyckel-värdelager, inte en relationsdatabas.

För att söka efter en specifik data måste du bygga en åtkomstväg till denna data. Till exempel, för att få användare som har ålder =25, måste du bygga ett index för att mappa åldersvärdena till användare. Det kan göras med ett set. Detta är samma sak för namnet.

När du har uppsättningar för ålder och namn kan du söka efter användare genom att korsa uppsättningarna. Till exempel:

# 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


  1. MongoDB Object.bsonSize()

  2. MongoDB-fråga på ifyllda fält

  3. Mongo hur man $lookup med DBRef

  4. Spring Data Mongo Repository::Gemensam delad metod för alla Repo-frågor