"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > रेडिस

रेडिस

2024-11-06 को प्रकाशित
ब्राउज़ करें:427

Redis

रेडिस एक एनओएसक्यूएल डेटाबेस है जिसमें डेटा को कुंजी-मूल्य जोड़े में संग्रहीत किया जाता है।
रेडिस डेटा को मुख्य मेमोरी पर संग्रहीत करता है जिसका अर्थ है कि यह तेज़ है लेकिन पोस्टग्रेएसक्यूएल जैसे डेटाबेस सिस्टम के विपरीत अस्थिर है जो डिस्क पर डेटा संग्रहीत करता है।

सिंहावलोकन

सर्वर और डेटाबेस वाले एप्लिकेशन में, डेटाबेस पर जानकारी तक पहुंचने से विलंबता हो जाएगी।

रेडिस जैसे की-वैल्यू डेटाबेस को अक्सर उन डेटाबेस के सामने रखा जाता है और एक्सेस ऑपरेशन में 2 चरण लगते हैं:

  1. यदि जानकारी कैश में है, कैश हिट, एप्लिकेशन रेडिस से जानकारी पुनर्प्राप्त करता है और क्लाइंट को भेजता है
  2. यदि नहीं, कैश मिस, एप्लिकेशन डेटाबेस से जानकारी लेता है, इसे क्लाइंट को भेजता है और इसे कैश में संग्रहीत करता है।

इन 2 चरणों के साथ और यह देखते हुए कि मुख्य मेमोरी में डिस्क की तुलना में कम विलंबता होती है, हम कह सकते हैं कि रेडिस का उपयोग लगातार, हाल के डेटा और महंगे संचालन को संग्रहीत करने और एक्सेस करने के लिए किया जा सकता है, जिससे एप्लिकेशन 10 से 50 गुना तेज हो जाते हैं।

यह एक तथ्य है कि यदि आप एक ऐसा एप्लिकेशन बनाने जा रहे हैं जो भविष्य में स्केलेबल होने जा रहा है, तो Redis(या Redis के समान डेटाबेस) अपरिहार्य है।


प्रश्न

  1. क्या रेडिस ओपन सोर्स है?: हां, रेडिस एक विशेष प्रकार के लाइसेंस के साथ ओपन सोर्स है लेकिन स्नैपचैट और मेमकैच्ड द्वारा KeyDB जैसे विकल्प हैं जो ओपन सोर्स हैं। KeyDB रेडिस का एक कांटा है लेकिन अभी तक यह केवल लिनक्स पर ही चल सकता है।

  2. क्या रेडिस विंडोज़ का समर्थन करता है?: नहीं, रेडिस विंडोज़ का समर्थन नहीं करता है, लेकिन आप डब्लूएसएल/उबंटू स्थापित कर सकते हैं और
    का उपयोग करके रेडिस स्थापित कर सकते हैं

sudo apt install redis
  1. मैं डब्लूएसएल का उपयोग कर रहा हूं, रेडिस सर्वर मेरे सिस्टम पर काम क्यों नहीं कर रहा है: डब्लूएसएल पर चलते समय, आप रेडिस-सर्वर का उपयोग करके चला सकते हैं
redis-server --port 6000

जहां 6000 आपके स्थानीय सर्वर पर वह पोर्ट है जिस पर आप इसे चलाना चाहते हैं। (यानी 127.0.0.1:6000)।

अधिकांश समस्याएं इस तथ्य के कारण होती हैं कि रेडिस-सर्वर जिस डिफ़ॉल्ट पोर्ट का उपयोग कर रहा है वह पहले से ही उपयोग किया जा रहा है

  1. क्या रेडिस के लिए क्लाइंट लाइब्रेरी हैं?: वास्तव में हाँ। आप उन्हें रेडिस वेबसाइट पर पा सकते हैं या आप स्वयं एक बना सकते हैं।

रेडिस स्थापित करना

लिनक्स पर, रेडिस इंस्टॉल करना उतना ही सरल है

sudo apt install redis

या मैक पर:

brew install redis

रेडिस चल रहा है

आपके पास पर आपके टर्मिनल के 2 उदाहरण होने चाहिए

अपना सर्वर चलाने वाले पहले सर्वर पर

redis-server -port 

और दूसरे पर अपने क्लाइंट को चलाने के लिए

redis-cli

वेब ऐप बनाते समय, आपको क्लाइंट को चलाने की आवश्यकता नहीं है लेकिन सर्वर को चलाने की आवश्यकता है

रेडिस अवधारणाएँ

रेडिस में 3 मुख्य अवधारणाएँ हैं जिन्हें आपको समझना चाहिए या 4

  1. कुंजी-मूल्य जोड़े
  2. सूचियाँ
  3. सेट
  4. हैश

अन्य सभी डेटा संरचनाएं मुख्य रूप से पहले का उन्नत कार्यान्वयन हैं

सूची से मेरा मतलब है array नहीं लिंक्ड सूची और इसे रेडिस कहते हैं।


कुंजी-मूल्य जोड़े

की-वैल्यू जोड़े अधिकांश प्रोग्रामिंग भाषाओं में एक सामान्य डेटा संरचना हैं।

  1. पायथन में इसे शब्दकोष या dict संक्षेप में कहा जाता है

  2. जावास्क्रिप्ट में इसे मैप्स

  3. कहा जाता है
  4. C# में इसे शब्दकोश

  5. कहा जाता है

रेडिस में कुंजी-मूल्य जोड़े के लिए 6 मुख्य ऑपरेशन हैं

संचालन स्पष्टीकरण उदाहरण विवरण के आगे
तय करना एक कुंजी-मूल्य जोड़ी बनाता है SET नाम जॉन मानचित्र की कुंजी को मान पर सेट करता है
पाना कुंजी के लिए मूल्य प्राप्त करता है नाम प्राप्त करें यह जॉन लौटाता है
DEL कुंजी मान युग्म हटाता है DEL नाम यह डेटाबेस से मुख्य मान जोड़ी का नाम हटा देता है
मौजूद जांचता है कि रेडिस डेटाबेस में कोई कुंजी मौजूद है या नहीं मौजूद नाम सही या गलत के अनुरूप 1 या 0 लौटाता है
फ्लशहॉल संपूर्ण कैश साफ़ करता है फ्लशहॉल पोस्टग्रेज़ में ड्रॉप टेबल की तरह कमोबेश
कुंजियाँ * डेटाबेस में सभी कुंजियाँ लौटाता है कुंजियाँ *

समय-आधारित संचालन भी हैं। समय आधारित संचालन में, कुंजी केवल एक निर्धारित समय के लिए कैश में रहती है, समय समाप्त होने के बाद, कैश कुंजी को हटा देता है।

2 मुख्य समय आधारित संचालन हैं

संचालन स्पष्टीकरण उदाहरण विवरण के आगे
समाप्त परिभाषित होने के बाद कुंजी समाप्त हो जाती है समाप्त नाम 10 10s के बाद कुंजी-मूल्य नाम हटा देता है। EXPIRE को कॉल करने से पहले कुंजी को SET के साथ परिभाषित किया जाना चाहिए। एक सामान्य विकल्प है;
SETEX परिभाषा पर एक कुंजी समाप्त हो जाती है SETEX उम्र 30 15 कुंजी आयु को मान 30 पर सेट करता है और उसके बाद 15 के बाद कुंजी-मूल्य जोड़ी को हटा देता है
टीटीएल जीने का समय टीटीएल आयु आयु कुंजी को हटाने से पहले शेष समय लौटाता है

ब्लॉग अब बहुत लंबा हो गया है, मैं सूचियों, सेट, हैशमैप्स और रेडिस के बारे में संभावित साक्षात्कार प्रश्नों के बारे में बात करूंगा दूसरे ब्लॉग में।

कृपया यदि आपके कोई प्रश्न हैं, तो कृपया उन्हें नीचे टिप्पणी करें, मैं उनका उत्तर देने की पूरी कोशिश करूंगा ⭐। हैप्पी कोडिंग

विज्ञप्ति वक्तव्य यह आलेख यहां पुन: प्रस्तुत किया गया है: https://dev.to/ezekiel_77/redis-3njh?1 यदि कोई उल्लंघन है, तो कृपया इसे हटाने के लिए [email protected] से संपर्क करें।
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3