रेडिस हैश अधिक जटिल डेटा संग्रहीत करने के लिए अच्छे हैं, जैसा कि आप अपने प्रश्न में सुझाव देते हैं। मैं उनका उपयोग ठीक उसी के लिए करता हूं - कई विशेषताओं वाली वस्तुओं को संग्रहीत करने के लिए जिन्हें कैश करने की आवश्यकता होती है (विशेष रूप से, ई-कॉमर्स साइट पर किसी विशेष उत्पाद के लिए इन्वेंट्री डेटा)। निश्चित रूप से, मैं एक संयोजित स्ट्रिंग का उपयोग कर सकता था - लेकिन यह मेरे क्लाइंट कोड में अनावश्यक जटिलता जोड़ता है, और एक व्यक्तिगत फ़ील्ड को अपडेट करना संभव नहीं है।
आप सही हो सकते हैं - ट्यूटोरियल केवल हैश पेश किए जाने से पहले के हो सकते हैं। वे स्पष्ट रूप से ऑब्जेक्ट प्रतिनिधित्व संग्रहीत करने के लिए डिज़ाइन किए गए थे:http://oldblog.antirez.com/post/redis-weekly-update-1.html
मुझे लगता है कि एक साधारण स्ट्रिंग एसईटी कमांड की तुलना में जब एक नया आइटम डाला जाता है (कमांडों की संख्या, जहां n हैश में फ़ील्ड की संख्या होती है) रेडिस को कमांड की संख्या होगी। मुझे यह अभी तक एक ऐसी सेवा पर कोई समस्या नहीं मिली है जो प्रति दिन लगभग 1 मिलियन बार रेडिस को हिट करती है। मेरे लिए सही डेटा संरचना का उपयोग करना नगण्य प्रदर्शन प्रभाव से अधिक महत्वपूर्ण है।
(इसके अलावा, कृपया रेडिस सेट बनाम रेडिस स्ट्रिंग्स के बारे में मेरी टिप्पणी देखें - मुझे लगता है कि आपका प्रश्न स्ट्रिंग्स का जिक्र कर रहा है, लेकिन अगर मैं गलत हूं तो मुझे सुधारें!)