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

¿Escribir una consulta para agregar múltiples valores a una clave en REDIS Hashes?

Lo que podría hacer, y vi esto en otros lugares además de mi código, es ingresar el hash usando un sufijo. Probablemente tenga un sufijo que identifique cada registro, usaré los colores aquí:

A LA HORA DE INSERTAR:

HMSET Records:red Prod_Color "Red" Prod_Count 12 Prod_Price 300 Prod_Info "In Stock"
HMSET Records:blue Prod_Color "Blue" Prod_Count 8 Prod_Price 310 Prod_Info "In Stock"

/* For each HMSET above, you issue SADD */
SADD Records:Ids red
SADD Records:Ids blue

EN EL MOMENTO DE LA CONSULTA:

/* If you want to get all products, you first get all members */
SMEMBERS Records:Ids

/* ... and then for each member, suppose its suffix is ID_OF_MEMBER */
HGETALL Records:ID_OF_MEMBER

/* ... and then for red and blue (example) */
HGETALL Records:red
HGETALL Records:blue

Probablemente quieras usar la primary key como sufijo, ya que debería estar disponible en los registros de la base de datos relacional. Además, debe mantener el conjunto de miembros (por ejemplo, SREM Records:Ids red ), al eliminar claves hash (por ejemplo, DEL Records:red ). Y también recuerde que Redis es realmente bueno como un caché mejorado, debe configurarlo bien para conservar los valores (y mantener el rendimiento con eso).