आप क्या कर सकते थे, और मैंने इसे अपने कोड के अलावा अन्य जगहों पर देखा, हैश को प्रत्यय का उपयोग करना है। आपके पास शायद एक प्रत्यय है जो प्रत्येक रिकॉर्ड की पहचान करता है, मैं यहां रंगों का उपयोग करूंगा:
डालने के समय:
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
क्वेरी के समय:
/* 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
आप शायद primary key
का उपयोग करना चाहते हैं प्रत्यय के रूप में, क्योंकि यह आपके लिए रिलेशनल डेटाबेस रिकॉर्ड से उपलब्ध होना चाहिए। साथ ही, आपको सदस्यों के समूह को बनाए रखना होगा (उदा. SREM Records:Ids red
), हैश कुंजियों को हटाते समय (उदा. DEL Records:red
) और यह भी याद रखें कि Redis एक बेहतर कैश के रूप में वास्तव में अच्छा है, आपको मूल्यों को बनाए रखने के लिए इसे अच्छी तरह से सेट करना होगा (और इसके साथ प्रदर्शन बनाए रखना होगा)।