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

Schreiben Sie eine Abfrage, um mehrere Werte zu einem Schlüssel in REDIS-Hashes hinzuzufügen?

Was Sie tun könnten, und das habe ich neben meinem Code an anderen Stellen gesehen, ist, den Hash mit einem Suffix zu verschlüsseln. Sie haben wahrscheinlich ein Suffix, das jeden Datensatz identifiziert, ich werde die Farben hier verwenden:

ZUR EINFÜGEZEIT:

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

ZUR ABFRAGEZEIT:

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

Wahrscheinlich möchten Sie den primary key verwenden als Suffix, da dies aus den Datensätzen der relationalen Datenbank für Sie verfügbar sein sollte. Außerdem müssen Sie den Mitgliedersatz pflegen (z. B. SREM Records:Ids red ), beim Löschen von Rautenschlüsseln (z.B. DEL Records:red ). Und denken Sie auch daran, dass Redis als verbesserter Cache wirklich gut ist, Sie müssen es gut einrichten, um Werte beizubehalten (und damit die Leistung aufrechtzuerhalten).