रेडिस स्कार्ड

Redisa Skarda



'रेडिस सेट स्ट्रिंग्स का अनियंत्रित संग्रह है जिसमें कोई डुप्लीकेट नहीं होता है। ये जावा हैशसेट, पायथन सेट आदि के समान हैं। सबसे महत्वपूर्ण बात यह है कि किसी सदस्य के अस्तित्व को जोड़ने, हटाने और जाँचने जैसे मौलिक संचालन अत्यधिक कुशल हैं क्योंकि वे O(1) समय जटिलता में काम करते हैं।

एक सेट के सदस्य

जैसा कि बताया गया है, रेडिस सेट में अद्वितीय स्ट्रिंग आइटम होते हैं। पहले से मौजूद आइटम Redis सेट द्वारा स्वीकार नहीं किए जाएंगे और उन्हें अनदेखा कर दिया जाएगा। इसके अलावा, एक एकल सेट में 4 बिलियन अद्वितीय तार हो सकते हैं।









रेडिस सेट की अद्वितीय सदस्यों को रखने की प्रकृति कई वास्तविक दुनिया के उपयोग के मामलों में काम आती है।



  • संघ, चौराहा और अंतर जैसे मानक सेट संचालन करने की क्षमता।
  • किसी वेबसाइट पर अद्वितीय आगंतुकों को ट्रैक करना
  • वास्तविक दुनिया इकाई संबंधों का प्रतिनिधित्व करें

द स्कार्ड कमांड

SCARD कमांड, सेट कार्डिनैलिटी के लिए संक्षिप्त है, किसी दिए गए कुंजी पर संग्रहीत सेट में सदस्यों की संख्या लौटाता है। यह O(1) समय जटिलता में संचालित होता है जिसका अर्थ है कि SCARD कमांड को निष्पादित करने में लगने वाला समय दिए गए सेट में सदस्यों की संख्या पर निर्भर नहीं करता है। इसमें हमेशा एक स्थिर समय लगता है।





SCARD कमांड का एक बहुत ही सरल सिंटैक्स है, जैसा कि निम्नलिखित में दिखाया गया है।

स्कोर सेट_की

नियत कुंजी: रेडिस सेट की कुंजी



यह आदेश एक पूर्णांक मान देता है जो सेट में सदस्यों की संख्या है।

उदाहरण का उपयोग करें - किसी वेबसाइट पर अद्वितीय विज़िटर की गणना करें

मान लें कि 'YummyPizza' पिज़्ज़ा कंपनी yummypizza.com नामक एक वेबसाइट चलाती है जहाँ लोग ऑनलाइन पिज़्ज़ा ऑर्डर कर सकते हैं। अपनी बिक्री और ग्राहक आधार पर नज़र रखने के लिए, वे हर महीने वेबसाइट पर आने वाले सभी अद्वितीय आगंतुकों को संग्रहीत करने के लिए एक Redis डेटाबेस बनाए रखते हैं।

जब भी कोई उपयोगकर्ता YummyPizza वेबसाइट पर जाता है, तो उपयोगकर्ता आईडी को रेडिस डेटाबेस में जोड़ा जाना चाहिए। साथ ही, उसी उपयोगकर्ता को डेटाबेस में भी नहीं जोड़ा जाना चाहिए। इसलिए, आदर्श डेटा संरचना रेडिस सेट है, जहां सेट केवल अद्वितीय सदस्यों को संग्रहीत करता है।

मान लीजिए कि पांच उपयोगकर्ता वेबसाइट पर गए हैं, और इन सदस्यों को Redis डेटाबेस में जोड़ा गया है, जैसा कि निम्नलिखित में दिखाया गया है।

SADD स्वादिष्ट पिज्जा आगंतुक: अक्टूबर जॉन मैरी रज़ा स्टोइनिस प्रिंस

जैसा कि अपेक्षित था, पूर्णांक 5 वापस कर दिया गया है, जिसका अर्थ है कि पांच सदस्यों को कुंजी में संग्रहीत सेट में जोड़ा गया है ' स्वादिष्ट पिज्जा आगंतुक: अक्टूबर।

दिन के अंत में, कंपनी व्यवस्थापकों को वेबसाइट पर अद्वितीय आगंतुकों की कुल संख्या की जांच करने की आवश्यकता होती है। तो, सेट कार्डिनैलिटी की गणना करने की आवश्यकता है। सौभाग्य से, पहले चर्चा की गई SCARD कमांड इस प्रकार के परिदृश्य में काम आती है।

कुंजी पर संग्रहीत सेट पर SCARD कमांड निष्पादित करें ' स्वादिष्ट पिज्जा आगंतुक: अक्टूबर।

स्कार्ड स्वादिष्ट पिज्जाआगंतुक: अक्टूबर

आउटपुट 5 है, जिसका अर्थ है कि निर्दिष्ट सेट में पांच अद्वितीय सदस्य हैं। यह आदेश बहुत तेज़ी से निष्पादित होता है। यह पाँच सदस्यों या 50000 सदस्यों से कोई फर्क नहीं पड़ता; निष्पादन समय स्थिर रहेगा।

मान लें कि Redis डेटाबेस में निर्दिष्ट सेट कुंजी मौजूद नहीं है। फिर, आउटपुट 0 होगा, जैसा कि निम्नलिखित उदाहरण में दिखाया गया है। इस मामले में, हम एक कुंजी निर्दिष्ट करने जा रहे हैं जो डेटाबेस में नहीं है।

स्कार्ड गैर-मौजूदा कुंजी

निष्कर्ष

संक्षेप में, रेडिस सेट अद्वितीय तारों को संग्रहित करने के लिए एक आदर्श उम्मीदवार है। जैसा कि चर्चा की गई है, रेडिस सेट के बारे में सबसे महत्वपूर्ण बात यह है कि सेट से जुड़े अधिकांश ऑपरेशनों को निष्पादित करने में निरंतर समय लगता है। SCARD कमांड एक निर्दिष्ट कुंजी पर संग्रहीत दिए गए सेट के लिए सेट सदस्यों की कुल संख्या की गणना करने के लिए सबसे अधिक उपयोग किए जाने वाले सेट कमांड में से एक है। कोई फर्क नहीं पड़ता कि कितने सेट सदस्य उपलब्ध हैं, यह आदेश आउटपुट प्रदान करने में निरंतर समय लेता है। जैसा कि पिछले उदाहरण में दिखाया गया है, यदि सेट की मौजूद नहीं है, तो आउटपुट 0 होगा।