आपको यह ध्यान रखने की आवश्यकता है कि Redis एक इन-मेमोरी डेटाबेस है (भले ही यह डेटा को डिस्क पर बनाए रख सकता है)। रेडिस में आपके द्वारा डाला गया डेटा मेमोरी में फिट होना चाहिए।
आपके द्वारा उल्लिखित लेख में प्रस्ताव रेडिस को एक वितरित कतार प्रणाली के रूप में उपयोग करने के बारे में है। कार्यकर्ता वस्तुओं को डीक्यू करता है और उन्हें डिस्क पर लिखता है, इसलिए रेडिस मेमोरी में इतने सारे आइटम नहीं हैं। इस डिज़ाइन में एक दोष है:यदि कार्यकर्ता प्रक्रिया डेटा को डिस्क पर पर्याप्त तेज़ी से नहीं लिख सकती है, तो Redis मेमोरी की खपत में विस्फोट हो जाएगा - इसलिए इसे कॉन्फ़िगरेशन (Redis maxmemory पैरामीटर) या सॉफ़्टवेयर द्वारा सीमित करना होगा (सम्मिलित समय पर कतार को ट्रिम करें, या खाली) कतार जब भर जाती है)।
अब आपका प्रस्ताव वास्तव में काम नहीं करता है क्योंकि रेडिस में आपके द्वारा लिखे गए सभी डेटा को मेमोरी में रखा जाएगा (भले ही वे रेडिस द्वारा डिस्क पर बने रहें)।
एक और बात यह है कि आप रेडिस को क्वेरी नहीं कर सकते। रेडिस एक रिलेशनल डेटाबेस नहीं है, यह बिना किसी एड-हॉक क्वेरी मैकेनिज्म का समर्थन करता है, केवल पहले से परिभाषित एक्सेस पथों को शामिल करता है। यदि आप विभिन्न मापदंडों के साथ डेटा खोजना चाहते हैं, तो आपको सभी संभावित खोजों का अनुमान लगाना होगा और सम्मिलित समय पर प्रासंगिक डेटा संरचनाएं (सेट, सॉर्ट किए गए सेट, आदि ...) बनाना होगा।
एक और स्टोर (मोंगोडीबी, या एक रिलेशनल डेटाबेस) शायद आपके उपयोग के मामले में काफी बेहतर होगा।