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

Écrire une requête pour ajouter plusieurs valeurs à une clé dans les hachages REDIS ?

Ce que vous pourriez faire, et j'ai vu cela ailleurs que dans mon code, c'est de saisir le hachage à l'aide d'un suffixe. Vous avez probablement un suffixe qui identifie chaque enregistrement, j'utiliserai les couleurs ici :

AU MOMENT DE L'INSERTION :

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

AU MOMENT DE LA REQUÊTE :

/* 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

Vous souhaitez probablement utiliser la primary key comme suffixe, car cela devrait être disponible à partir des enregistrements de la base de données relationnelle. De plus, vous devez maintenir l'ensemble des membres (par exemple, SREM Records:Ids red ), lors de la suppression des clés de hachage (par exemple, DEL Records:red ). Et rappelez-vous également que Redis est vraiment bon en tant que cache amélioré, vous devez bien le configurer pour conserver les valeurs (et maintenir les performances avec cela).