Redis से जुड़ें और सीखें कि इस शक्तिशाली डेटा स्टोर के साथ अपने नोड ऐप्स को कैसे अनुकूलित करें।
जब आप एक वेब ऐप बना रहे हों, तो आपको यह सुनिश्चित करना चाहिए कि यह स्केलेबल और कुशल हो। ऐसा करने के लिए, आपको कई सिद्धांतों और अवधारणाओं को ध्यान में रखना होगा।
रेडिस उन कई तकनीकों में से एक है जो आपके वेब एप्लिकेशन के प्रदर्शन को बेहतर बनाने में मदद कर सकती है। यह उल्लेखनीय सुविधाएँ प्रदान करता है जिनका उपयोग आप किसी भी वेब ऐप के प्रदर्शन को बढ़ाने के लिए कर सकते हैं।
तो, वास्तव में Redis क्या है, और आप इसे अपने Node.js वेब अनुप्रयोगों के साथ कैसे उपयोग करना शुरू कर सकते हैं?
रेडिस क्या है, और आपको इसका उपयोग कब करना चाहिए?
रेडिस एक ओपन-सोर्स, इन-मेमोरी, की-वैल्यू डेटा स्टोर है। यह एक लचीली तकनीक है जो कार्य कतार, डेटाबेस, कैश, सत्र प्रबंधक, संदेश ब्रोकर और बहुत कुछ के रूप में कार्य कर सकती है।
रेडिस की गति, बहुमुखी प्रतिभा और उपयोग में आसानी का संयोजन इसे सॉफ्टवेयर डेवलपर पारिस्थितिकी तंत्र में एक बहुत ही मूल्यवान उपकरण बनाता है।
आपको रेडिस का उपयोग कब करना चाहिए?
रेडिस कई कार्यों के लिए उपयुक्त है, लेकिन आपको इसका उपयोग करने में सावधानी बरतनी चाहिए जब ऐसा करना उचित हो।
आपको इन परिदृश्यों में रेडिस का उपयोग करने पर विचार करना चाहिए:
- कैशिंग: रेडिस डेटाबेस पर लोड को रोकने और समग्र प्रदर्शन में सुधार करने में मदद करने के लिए कैश को लागू करने का सबसे लोकप्रिय तरीका है।
- सत्र प्रबंधन: Redis के साथ प्रमाणीकरण और राज्य प्रबंधन के लिए उपयोगकर्ता सत्रों को संग्रहीत करना और प्रबंधित करना बहुत आसान है।
- अस्थायी डेटा भंडारण: रेडिस आपको डेटा संग्रहीत करने और एक विशिष्ट अवधि के बाद इसे स्वचालित रूप से हटाने की सुविधा देता है। यह इसे अस्थायी डेटा जैसे भंडारण के लिए एक अच्छा उपकरण बनाता है JSON वेब टोकन, नौकरी की कतारें, वगैरह।
अन्य मामलों में आपको रेडिस का उपयोग करने पर विचार करना चाहिए जिसमें संदेश ब्रोकर को लागू करना, अनुकूलन करना शामिल है डेटाबेस संचालन, और यहां तक कि सूचियों, सेटों और जैसी डेटा संरचनाओं को कुशलतापूर्वक संग्रहीत करना और उन तक पहुंचना हैश.
Node.js के साथ Redis का उपयोग कैसे करें
Node.js कुशल और स्केलेबल सर्वर-साइड ऐप्स बनाने के लिए एक लोकप्रिय तकनीक है। उच्च प्रदर्शन और स्केलेबिलिटी प्राप्त करने के लिए आप इसे रेडिस जैसी सहायक तकनीकों के साथ संयोजन में उपयोग कर सकते हैं।
रेडिस कई भाषाओं का समर्थन करता है। आप इसका उपयोग कर सकते हैं PHP में डेटा भंडारण के लिए और गोलांग के लिए उत्कृष्ट रेडिस ग्राहक हैं. Node.js के लिए दो सबसे लोकप्रिय Redis क्लाइंट हैं नोड-रेडिस और ioredis.
दोनों पैकेज के माध्यम से उपलब्ध हैं NPM और उपयोग में आसान हैं. मुख्य अंतर यह है नोड-रेडिस आधिकारिक ग्राहक है, जबकि समुदाय अनुशंसा करता है ioredis.
Node.js से Redis से कनेक्ट हो रहा है
आरंभ करने के लिए, आपके कंप्यूटर पर Redis स्थापित होना चाहिए, और एक Node.js विकास वातावरण स्थापित होना चाहिए। पर इंस्टालेशन गाइड देखें Redis.io Linux, macOS और Windows पर Redis स्थापित करने के लिए।
रेडिस से जुड़ने में सक्षम होने के लिए आपको अपने प्रोजेक्ट में अपना पसंदीदा रेडिस क्लाइंट एसडीके स्थापित करना होगा। आपकी पसंद के आधार पर (हम उपयोग करेंगे नोड-रेडिस), Redis क्लाइंट को स्थापित करने के लिए नीचे दिए गए किसी भी आदेश को चलाएँ:
एनपीएम इंस्टाल रेडिस--सेव
एनपीएम इंस्टाल आयोरेडिस--सेव
पहला कमांड इंस्टॉल होता है नोड-रेडिस, जबकि दूसरा इंस्टॉल हो जाता है ioredis.
अपने नव-स्थापित क्लाइंट को कॉन्फ़िगर करने के लिए, आपको यह सुनिश्चित करना होगा कि Redis चल रहा है। आप इसे बस प्रारंभ करके कर सकते हैं रेडिस-सीएलआई आपके टर्मिनल में:
गुनगुनाहट कमांड इसके चलने की पुष्टि करने के लिए सर्वर को पिंग करता है, और a पांग सीएलआई में प्रतिक्रिया का मतलब है कि सर्वर ठीक से काम कर रहा है। अब एक बनाएं redis.js अपने नोड प्रोजेक्ट में फ़ाइल करें और Redis को कॉन्फ़िगर करने के लिए उसमें निम्नलिखित कोड लिखें:
कॉन्स्ट रेडिस = ज़रूरत होना("रेडिस")
// डिफ़ॉल्ट कॉन्फ़िगरेशन का उपयोग करके प्रारंभ करें
कॉन्स्ट RedisClient = redis.createClient()कॉन्स्ट कनेक्टरेडिस = async () => {
// रेडिस से कनेक्ट करें
इंतजार RedisClient.connect()// त्रुटि संभालें
RedisClient.on('गलती', (त्रुटि) => {
सांत्वना देना।गलती(`रेडिस के साथ एक त्रुटि उत्पन्न हुई: ${त्रुटि}`)
})
सांत्वना देना।लकड़ी का लट्ठा('रेडिस सफलतापूर्वक कनेक्ट हुआ...')
}
उपरोक्त कोड एप्लिकेशन में एक नए रेडिस क्लाइंट को प्रारंभ करता है। createClient रेडिस पैकेज का फ़ंक्शन आपको अपने निर्दिष्ट मापदंडों का उपयोग करके क्लाइंट बनाने की अनुमति देता है।
आप अपना होस्ट, पोर्ट, उपयोगकर्ता नाम, पासवर्ड या कनेक्शन स्ट्रिंग निर्दिष्ट कर सकते हैं, या डिफ़ॉल्ट मानों का उपयोग कर सकते हैं। उदाहरण के लिए, नोड-रेडिस लोकलहोस्ट, पोर्ट पर चलना शुरू हो जाएगा 6379, डिफ़ॉल्ट रूप से।
यहां कुछ तरीके दिए गए हैं जिनका आप उपयोग कर सकते हैं createClient समारोह:
// कनेक्शन स्ट्रिंग का उपयोग करना
कॉन्स्ट RedisClient = redis.createClient("रेडिस://127.0.0.1:6379")
// पैरामीटर ऑब्जेक्ट का उपयोग करना
कॉन्स्ट RedisClient = redis.createClient({
सॉकेट: {
मेज़बान: "127.0.0.1",
पत्तन: "6379"
},
उपयोगकर्ता नाम: "आपका रेडिस उपयोगकर्ता नाम",
पासवर्ड: "आपका पासवर्ड"
})
उत्पादन में सुरक्षित रेडिस इंस्टेंस का उपयोग करें। जब यह मामला है, तो आपके पास या तो एक सुरक्षित है यूआरएल कनेक्शन के लिए स्ट्रिंग या ऊपर दिखाए गए पैरामीटर का उपयोग करें। जो भी मामला हो, क्रेडेंशियल्स को कोड से बाहर रखना हमेशा याद रखें और इसके बजाय पर्यावरण चर का उपयोग करें।
Node.js में बेसिक रेडिस ऑपरेशंस निष्पादित करना
निम्नलिखित कोड का उपयोग करके रेडिस से जुड़ता है कनेक्टरेडिस उपरोक्त फ़ंक्शन और कुछ बुनियादी परिचालनों को प्रदर्शित करता है जिन्हें आप अपने नोड अनुप्रयोगों से रेडिस में निष्पादित कर सकते हैं।
कॉन्स्ट टेस्टरेडिस = async () => {
इंतजार कनेक्टरेडिस()// मान सेट करें और पुनः प्राप्त करें
इंतजार RedisClient.set("नाम", "टिम्मी")
कॉन्स्ट getCommand = इंतजार RedisClient.get("नाम")
सांत्वना देना.लॉग (getCommand)// मानों को तुरंत हटाएं या उन्हें समाप्त होने के लिए शेड्यूल करें
// कुछ सेकंड में
इंतजार RedisClient.del("नाम");
इंतजार RedisClient.setEx("जगह", 60, "लागोस")// किसी सूची के आगे या पीछे पुश करें
इंतजार RedisClient.lPush("दिन", "सोमवार")
इंतजार RedisClient.rPush("दिन", "मंगलवार")
इंतजार RedisClient.lPush("दिन", "बुधवार")
कॉन्स्ट दिनअरे = इंतजार RedisClient.lRange("दिन", 0, -1)
// प्रिंट ['बुधवार', 'सोमवार', 'मंगलवार' ]
सांत्वना देना.लॉग (dayArray)// किसी सूची के पीछे या सामने से कोई आइटम हटाएँ
इंतजार RedisClient.rPop("दिन")
इंतजार RedisClient.lPop("दिन")
कॉन्स्ट newDaysArray = इंतजार RedisClient.lRange("दिन", 0, -1)
// प्रिंट [ 'सोमवार' ]
सांत्वना देना.लॉग (newDaysArray)
}
टेस्टरेडिस()
के उपयोग पर ध्यान दें async और इंतजार यहाँ। ऐसा इसलिए है क्योंकि सभी फ़ंक्शन अतुल्यकालिक रूप से चलते हैं और वादे लौटाते हैं, इसलिए यदि आपको उनके परिणामों की तुरंत आवश्यकता है, तो यह महत्वपूर्ण है इंतजार उन्हें।
उपरोक्त कोड केवल कुछ बुनियादी संचालन दिखाता है जिन्हें आप Node.js एप्लिकेशन से Redis में निष्पादित कर सकते हैं। ऐसे और भी कई आदेश और अवधारणाएँ हैं जो देखने लायक हैं।
रेडिस कमांड्स README में अनुभाग पाया गया नोड-रेडिसGitHub रिपॉजिटरी अन्य सभी कमांड और वे क्या करते हैं यह जानने के लिए एक अच्छी जगह है।
कुशल एप्लिकेशन बनाने के लिए रेडिस का उपयोग करें
रेडिस की शक्ति का उपयोग आपको एक डेवलपर के रूप में, अत्यधिक कुशल सर्वर-साइड एप्लिकेशन बनाने में सक्षम बनाता है। रेडिस के इन-मेमोरी डेटा स्टोरेज और व्यापक डेटा संरचनाओं और कमांड के साथ, एप्लिकेशन उल्लेखनीय प्रदर्शन अनुकूलन प्राप्त कर सकते हैं।
आपको अपने ऐप के प्रदर्शन को सुपरचार्ज करने और बेहतर उपयोगकर्ता अनुभव प्रदान करने के लिए निश्चित रूप से अपने अगले Node.js एप्लिकेशन में Redis को एकीकृत करने पर विचार करना चाहिए।