sql >> Base de Datos >  >> NoSQL >> Redis

¿Cómo buscar en redis claves hash?

No se puede. Redis es un almacén de clave-valor, no una base de datos relacional.

Para buscar datos específicos, debe crear una ruta de acceso a estos datos. Por ejemplo, para que los usuarios tengan una edad =25, debe crear un índice para asignar los valores de edad a los usuarios. Se puede hacer con un conjunto. Esto es lo mismo para el nombre.

Una vez que tenga conjuntos de edad y nombre, puede buscar usuarios cruzando los conjuntos. Por ejemplo:

# 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