मूल रूप से 7 नवंबर, 2017 को ObjectRocket.com/blog पर प्रकाशित।
यह पोस्ट Redis™ के कुछ सबसे सामान्य उपयोग मामलों और विभिन्न विशेषताओं की व्याख्या करता है जो इन विकल्पों को प्रभावित करती हैं।
1. सत्र कैश
Redis के लिए सबसे स्पष्ट उपयोग मामलों में से एक इसे सत्र कैश के रूप में उपयोग करना है। Memcached जैसे अन्य सत्र स्टोर पर Redis का उपयोग करने का लाभ यह है कि Redis स्थिरता प्रदान करता है। जबकि कैश को बनाए रखना आमतौर पर स्थिरता के संबंध में मिशन-महत्वपूर्ण नहीं है, अधिकांश उपयोगकर्ता नाराज हो सकते हैं यदि उनके सभी कार्ट सत्र चले जाते हैं।
शुक्र है, वर्षों में Redis ने जो गति पकड़ी है, आप आसानी से इस बात का दस्तावेज़ीकरण पा सकते हैं कि Redis को सत्र कैशिंग के लिए उचित तरीके से कैसे उपयोग किया जाए। यहां तक कि Magento®, प्रसिद्ध ई-कॉमर्स प्लेटफॉर्म, में Redis के लिए एक प्लग-इन है।
2. पूर्ण-पृष्ठ कैश
आपके बुनियादी सत्र टोकन के बाहर, Redis एक सीधा पूर्ण-पृष्ठ कैश (FPC) प्लेटफॉर्म प्रदान करता है जिसमें काम किया जा सके। स्थिरता कारक यहां भी लागू होता है। Redis इंस्टेंस के पुनरारंभ में भी, डिस्क स्थिरता के साथ, आपके उपयोगकर्ता अपने पेज लोड के लिए गति में कमी नहीं देखते—PHP नेटिव FPC जैसी किसी चीज़ से एक बड़ा बदलाव।
Magento पूर्ण पृष्ठ कैश बैकएंड के रूप में Redis का उपयोग करने के लिए एक प्लग-इन प्रदान करता है।
WordPress® उपयोगकर्ताओं के लिए, Pantheon™ के पास एक उत्कृष्ट प्लग-इन, wp-redis, है जो आपको अब तक के सबसे तेज़ पेज लोड प्राप्त करने में मदद करता है!
3. कतारें
Redis इन-मेमोरी स्टोरेज इंजन टू-डू सूची और सेट ऑपरेशन का लाभ उठाकर Redis को संदेश कतार के लिए उपयोग करने के लिए एक शानदार प्लेटफॉर्म बनाता है। Redis के साथ कतार के रूप में बातचीत करना प्रोग्रामिंग भाषाओं जैसे Python® में सूचियों के साथ पुश/पॉप ऑपरेशन का उपयोग करने वाले किसी भी व्यक्ति के लिए मूल महसूस करना चाहिए।
यदि आप Redis कतार पर Google खोज करते हैं, तो आप देख सकते हैं कि Redis को आपकी सभी कतार आवश्यकताओं के लिए बैकएंड उपयोगिता बनाने के उद्देश्य से कई ओपन-सोर्स प्रोजेक्ट हैं। उदाहरण के लिए, Celery में Redis का उपयोग करने वाला एक बैकएंड है जिसे आप देख सकते हैं।
4. लीडरबोर्ड और गिनती
Redis इंक्रीमेंट और डिक्रीमेंट के साथ बहुत अच्छा काम करता है क्योंकि यह इन-मेमोरी है। सेट और सॉर्टेड सेट भी इन प्रकार के ऑपरेशन करते समय हमारे जीवन को आसान बनाते हैं। Redis में ये दोनों डेटा संरचनाएं होती हैं। तो "user_scores" नामक एक सॉर्टेड सेट से शीर्ष 10 उपयोगकर्ताओं को खींचने के लिए—आप निम्न कोड चला सकते हैं:
ZRANGE user_scores 0 10
बेशक, यह मानता है कि आप उपयोगकर्ताओं को वृद्धिशील स्कोर पर रैंक कर रहे हैं। यदि आप उपयोगकर्ताओं और उनके स्कोर दोनों को वापस करना चाहते हैं, तो आप निम्न कोड चला सकते हैं:
ZRANGE user_scores 0 10 WITHSCORES
Agora Games का एक उदाहरण है, Ruby का उपयोग करके, Redis को अपने डेटास्टोर के रूप में उपयोग करने वाला एक लीडरबोर्ड।
5. प्रकाशन-सदस्यता
Redis में एक प्रकाशन-सदस्यता (Pub/Sub) सुविधा है। Pub/Sub के उपयोग मामले अनंत हैं। मैंने लोगों को इसे सोशल नेटवर्क कनेक्शन के लिए, Pub/Sub इवेंट के आधार पर स्क्रिप्ट ट्रिगर करने के लिए, और यहां तक कि Redis Pub/Sub का उपयोग करके निर्मित चैट सिस्टम के लिए उपयोग करते देखा है!
Redis द्वारा प्रदान की जाने वाली सभी सुविधाओं में, मुझे लगता है कि यह हमेशा सबसे कम प्यार पाती है, भले ही यह उपयोगकर्ताओं को बहुत कुछ प्रदान करती है।
Rackspace DBA सेवाओं के बारे में और जानें।
कोई भी टिप्पणी करने या प्रश्न पूछने के लिए फीडबैक टैब का उपयोग करें। आप हमारे साथ बातचीत भी शुरू कर सकते हैं।