Wat je zou kunnen doen, en ik zag dit op andere plaatsen naast mijn code, is om de hash in te toetsen met een achtervoegsel. Je hebt waarschijnlijk een achtervoegsel dat elk record identificeert, ik zal de kleuren hier gebruiken:
BIJ INVOERTIJD:
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
OP VRAAGTIJD:
/* 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
U wilt waarschijnlijk de primary key
. gebruiken als achtervoegsel, aangezien dit voor u beschikbaar zou moeten zijn vanuit de relationele databaserecords. U moet ook de set leden onderhouden (bijv. SREM Records:Ids red
), bij het verwijderen van hash-sleutels (bijv. DEL Records:red
). En onthoud ook dat Redis echt goed is als een verbeterde cache, je moet het goed instellen om waarden te behouden (en daarmee de prestaties te behouden).