रेडिस एक एनओएसक्यूएल डेटाबेस है जिसमें डेटा को कुंजी-मूल्य जोड़े में संग्रहीत किया जाता है।
रेडिस डेटा को मुख्य मेमोरी पर संग्रहीत करता है जिसका अर्थ है कि यह तेज़ है लेकिन पोस्टग्रेएसक्यूएल जैसे डेटाबेस सिस्टम के विपरीत अस्थिर है जो डिस्क पर डेटा संग्रहीत करता है।
सर्वर और डेटाबेस वाले एप्लिकेशन में, डेटाबेस पर जानकारी तक पहुंचने से विलंबता हो जाएगी।
रेडिस जैसे की-वैल्यू डेटाबेस को अक्सर उन डेटाबेस के सामने रखा जाता है और एक्सेस ऑपरेशन में 2 चरण लगते हैं:
इन 2 चरणों के साथ और यह देखते हुए कि मुख्य मेमोरी में डिस्क की तुलना में कम विलंबता होती है, हम कह सकते हैं कि रेडिस का उपयोग लगातार, हाल के डेटा और महंगे संचालन को संग्रहीत करने और एक्सेस करने के लिए किया जा सकता है, जिससे एप्लिकेशन 10 से 50 गुना तेज हो जाते हैं।
यह एक तथ्य है कि यदि आप एक ऐसा एप्लिकेशन बनाने जा रहे हैं जो भविष्य में स्केलेबल होने जा रहा है, तो Redis(या Redis के समान डेटाबेस) अपरिहार्य है।
क्या रेडिस ओपन सोर्स है?: हां, रेडिस एक विशेष प्रकार के लाइसेंस के साथ ओपन सोर्स है लेकिन स्नैपचैट और मेमकैच्ड द्वारा KeyDB जैसे विकल्प हैं जो ओपन सोर्स हैं। KeyDB रेडिस का एक कांटा है लेकिन अभी तक यह केवल लिनक्स पर ही चल सकता है।
क्या रेडिस विंडोज़ का समर्थन करता है?: नहीं, रेडिस विंडोज़ का समर्थन नहीं करता है, लेकिन आप डब्लूएसएल/उबंटू स्थापित कर सकते हैं और
का उपयोग करके रेडिस स्थापित कर सकते हैं
sudo apt install redis
redis-server --port 6000
जहां 6000 आपके स्थानीय सर्वर पर वह पोर्ट है जिस पर आप इसे चलाना चाहते हैं। (यानी 127.0.0.1:6000)।
अधिकांश समस्याएं इस तथ्य के कारण होती हैं कि रेडिस-सर्वर जिस डिफ़ॉल्ट पोर्ट का उपयोग कर रहा है वह पहले से ही उपयोग किया जा रहा है
लिनक्स पर, रेडिस इंस्टॉल करना उतना ही सरल है
sudo apt install redis
या मैक पर:
brew install redis
आपके पास पर आपके टर्मिनल के 2 उदाहरण होने चाहिए
अपना सर्वर चलाने वाले पहले सर्वर पर
redis-server -port
और दूसरे पर अपने क्लाइंट को चलाने के लिए
redis-cli
वेब ऐप बनाते समय, आपको क्लाइंट को चलाने की आवश्यकता नहीं है लेकिन सर्वर को चलाने की आवश्यकता है
रेडिस अवधारणाएँ
रेडिस में 3 मुख्य अवधारणाएँ हैं जिन्हें आपको समझना चाहिए या 4
अन्य सभी डेटा संरचनाएं मुख्य रूप से पहले का उन्नत कार्यान्वयन हैं
सूची से मेरा मतलब है array नहीं लिंक्ड सूची और इसे रेडिस कहते हैं।
की-वैल्यू जोड़े अधिकांश प्रोग्रामिंग भाषाओं में एक सामान्य डेटा संरचना हैं।
पायथन में इसे शब्दकोष या dict संक्षेप में कहा जाता है
जावास्क्रिप्ट में इसे मैप्स
C# में इसे शब्दकोश
रेडिस में कुंजी-मूल्य जोड़े के लिए 6 मुख्य ऑपरेशन हैं
संचालन | स्पष्टीकरण | उदाहरण | विवरण के आगे |
---|---|---|---|
तय करना | एक कुंजी-मूल्य जोड़ी बनाता है | SET नाम जॉन | मानचित्र की कुंजी को मान पर सेट करता है |
पाना | कुंजी के लिए मूल्य प्राप्त करता है | नाम प्राप्त करें | यह जॉन लौटाता है |
DEL | कुंजी मान युग्म हटाता है | DEL नाम | यह डेटाबेस से मुख्य मान जोड़ी का नाम हटा देता है |
मौजूद | जांचता है कि रेडिस डेटाबेस में कोई कुंजी मौजूद है या नहीं | मौजूद नाम | सही या गलत के अनुरूप 1 या 0 लौटाता है |
फ्लशहॉल | संपूर्ण कैश साफ़ करता है | फ्लशहॉल | पोस्टग्रेज़ में ड्रॉप टेबल की तरह कमोबेश |
कुंजियाँ * | डेटाबेस में सभी कुंजियाँ लौटाता है | कुंजियाँ * |
समय-आधारित संचालन भी हैं। समय आधारित संचालन में, कुंजी केवल एक निर्धारित समय के लिए कैश में रहती है, समय समाप्त होने के बाद, कैश कुंजी को हटा देता है।
2 मुख्य समय आधारित संचालन हैं
संचालन | स्पष्टीकरण | उदाहरण | विवरण के आगे |
---|---|---|---|
समाप्त | परिभाषित होने के बाद कुंजी समाप्त हो जाती है | समाप्त नाम 10 | 10s के बाद कुंजी-मूल्य नाम हटा देता है। EXPIRE को कॉल करने से पहले कुंजी को SET के साथ परिभाषित किया जाना चाहिए। एक सामान्य विकल्प है; |
SETEX | परिभाषा पर एक कुंजी समाप्त हो जाती है | SETEX उम्र 30 15 | कुंजी आयु को मान 30 पर सेट करता है और उसके बाद 15 के बाद कुंजी-मूल्य जोड़ी को हटा देता है |
टीटीएल | जीने का समय | टीटीएल आयु | आयु कुंजी को हटाने से पहले शेष समय लौटाता है |
ब्लॉग अब बहुत लंबा हो गया है, मैं सूचियों, सेट, हैशमैप्स और रेडिस के बारे में संभावित साक्षात्कार प्रश्नों के बारे में बात करूंगा दूसरे ब्लॉग में।
कृपया यदि आपके कोई प्रश्न हैं, तो कृपया उन्हें नीचे टिप्पणी करें, मैं उनका उत्तर देने की पूरी कोशिश करूंगा ⭐। हैप्पी कोडिंग
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3