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

Redis एक बहुत ही फ्लेक्सिबल और अत्यधिक स्केलेबल डेटास्टोर है, जिसे डेटाबेस, मैसेज ब्रोकर और कैश सर्वर के रूप में उपयोग किया जा सकता है। यह सिंगल-थ्रेडेड है, जिसका अर्थ है कि यह एक समय में केवल एक रिक्वेस्ट प्रोसेस कर सकता है, हालांकि बैच कमांड्स का उपयोग Redis सर्वर पर रिक्वेस्ट की संख्या कम करने के लिए किया जा सकता है।
Redis में, मुख्य मेमोरी में डेटा की पर्सिस्टेंस दो अलग-अलग तरीकों से प्राप्त की जा सकती है। पहला, सभी डेटा को हार्ड डिस्क पर एक फ्लैट फाइल में डंप करके और दूसरा, सभी निष्पादित कमांड्स को एक फाइल में संग्रहीत करके। जब Redis सर्वर बूट होता है, तो यह या तो डंप फाइल से डेटा लोड करता है या Redis सर्वर को कंसिस्टेंट और उपयोग योग्य स्टेट में बनाने के लिए सभी कमांड्स को क्रम में निष्पादित करता है।
विशेषताएं:
Redis डेटास्टोर की मुख्य विशेषताओं की सूची निम्न है:
- एटॉमिक ऑपरेशंस: सभी Redis ऑपरेशंस एटॉमिक हैं, जो यह सुनिश्चित करता है कि यदि दो या अधिक क्लाइंट्स Redis सर्वर में समवर्ती रूप से CRUD ऑपरेशंस करते हैं, तो सभी क्लाइंट्स को अपडेटेड मान प्राप्त होते हैं।
- एकाधिक डेटाटाइप्स सपोर्ट करता है: यह स्ट्रिंग, लिस्ट, सेट, सॉर्टेड सेट, बिटमैप्स आदि जैसे एकाधिक डेटाटाइप्स को सपोर्ट करता है। यह Redis को कई परिदृश्यों में उपयोग करने के लिए पर्याप्त फ्लेक्सिबल बनाता है।
- अत्यंत तेज़: यह सभी डेटा को मुख्य मेमोरी में संग्रहीत करता है, जो इसे अत्यंत तेज़ बनाता है। यह कमांड्स की पाइपलाइनिंग को भी सपोर्ट करता है, जो क्लाइंट CLI और क्लाइंट लाइब्रेरीज़ को सिंगल कमांड में एकाधिक मानों का उपयोग करके एकाधिक ऑपरेशंस करने में सक्षम बनाता है।
- क्लाइंट लाइब्रेरी सपोर्ट: यह C, C++, C#, Clojure, Java जैसी अधिकांश प्रोग्रामिंग लैंग्वेज़ को क्लाइंट लाइब्रेरीज़ के माध्यम से सपोर्ट करता है। आप पूरी सूची यहां पा सकते हैं।
- मास्टर/स्लेव रेप्लिकेशन: Redis एक-लाइन कॉन्फ़िगरेशन के माध्यम से मास्टर/स्लेव रेप्लिकेशन को सपोर्ट करता है।
कॉन्सेप्ट्स:
Redis में विभिन्न महत्वपूर्ण कॉन्सेप्ट्स को कवर करने वाले लेखों की सूची निम्न है:
- कीज़ कमांड्स
- स्ट्रिंग कमांड्स
- लिस्ट कमांड्स
- सेट कमांड्स
- हैश कमांड्स
- जियो कमांड्स
- Redis कीज़ ट्यूटोरियल Jedis लाइब्रेरी के साथ
- Redis लिस्ट ट्यूटोरियल Jedis लाइब्रेरी के साथ
- Redis सेट ट्यूटोरियल Jedis लाइब्रेरी के साथ
- Redis हैश ट्यूटोरियल Jedis लाइब्रेरी के साथ
- Redis जियो ट्यूटोरियल Jedis लाइब्रेरी के साथ
- Redis Pub Sub ट्यूटोरियल Jedis लाइब्रेरी के साथ
अगर आपको यह पसंद आया, तो कृपया कमेंट सेक्शन में अपने विचार साझा करें और इसे दूसरों के साथ भी साझा करें।