इस ट्यूटोरियल में, हम सीखेंगे कि Redis डेटास्टोर में किसी कुंजी पर संग्रहीत सॉर्टेड सेट मान से उच्चतम स्कोर वाले तत्व को कैसे हटाएं और वापस करें, इसके लिए Redis के ZPOPMAX और BZPOPMAX कमांड का उपयोग करते हैं।
ZPOPMAX कमांड
यह कमांड निर्दिष्ट कुंजी पर संग्रहीत सॉर्टेड सेट मान से एक या अधिक उच्चतम स्कोर वाले तत्वों को हटाता और वापस करता है। कमांड count को एक तर्क के रूप में लेता है, जो सॉर्टेड सेट से हटाए जाने वाले तत्वों की कुल संख्या को दर्शाता है। यदि यह निर्दिष्ट नहीं है, तो count का डिफ़ॉल्ट मान 1 होता है। जब तत्व वापस किए जाते हैं, तो उच्चतम स्कोर वाला तत्व पहले आता है, उसके बाद निम्न स्कोर वाले तत्व आते हैं।
यदि कुंजी मौजूद है लेकिन उस कुंजी पर संग्रहीत मान सॉर्टेड सेट डेटा प्रकार का नहीं है, तो त्रुटि वापस की जाती है। यदि कुंजी मौजूद नहीं है, तो Nil वापस किया जाता है।
सिंटैक्स :-
redis host:port> ZPOPMAX <keyname> <count>
आउटपुट :-
- (array) reply, सॉर्टेड सेट के तत्वों और स्कोर को दर्शाता है। - (nil), यदि कुंजी मौजूद नहीं है। - Error, यदि कुंजी मौजूद है और उस कुंजी पर संग्रहीत मान सॉर्टेड सेट नहीं है।
उदाहरण :-

BZPOPMAX कमांड
यह कमांड ZPOPMAX कमांड का ब्लॉकिंग संस्करण है क्योंकि यह ऑपरेशन को ब्लॉक कर देता है जब निर्दिष्ट सॉर्टेड सेट्स में से किसी से भी पॉप करने के लिए कोई तत्व नहीं होता है। दूसरे शब्दों में, यह ऑपरेशन को ब्लॉक कर देता है जब सभी निर्दिष्ट सॉर्टेड सेट खाली होते हैं या सभी निर्दिष्ट कुंजियाँ मौजूद नहीं होती हैं।
यह निर्दिष्ट कुंजियों को बाएं से दाएं जांचते हुए, पहले गैर-खाली सॉर्टेड सेट मान से उच्चतम स्कोर वाले तत्व को हटाता और वापस करता है। उदाहरण के लिए, यदि कमांड BZPOPMAX set1 set2 set3 0 निष्पादित की जाती है, जहां कुंजी set1 मौजूद नहीं है (इसे खाली सेट मानें), set2 एक खाली सेट है और set3 में तीन तत्व हैं, तो यह set3 पर संग्रहीत सॉर्टेड सेट मान के उच्चतम स्कोर वाले तत्व को हटाता और वापस करता है क्योंकि set1 से set3 तक जांचने पर यह पहला गैर-खाली सेट है।
यह कमांड timeout (पूर्णांक) को एक तर्क के रूप में लेती है, जो ब्लॉक करने के लिए अधिकतम सेकंड की संख्या को दर्शाता है। शून्य के टाइमआउट का उपयोग अनिश्चित काल तक ब्लॉक करने के लिए किया जा सकता है।
सिंटैक्स :-
redis host:port> BZPOPMAX <keyname> [ <keyname> ] <timeout>
आउटपुट :-
- (array) reply, तीन तत्व वापस किए जाते हैं जहां पहला तत्व सॉर्टेड सेट कुंजी का नाम है, दूसरा तत्व पॉप किए गए तत्व का स्कोर है और तीसरा तत्व पॉप किया गया तत्व स्वयं है। - (nil), जब कोई तत्व पॉप नहीं किया जा सका और टाइमआउट समाप्त हो गया।
उदाहरण :-

संदर्भ :-
- ZPOPMAX कमांड डॉक्स
- BZPOPMAX कमांड डॉक्स
Redis डेटास्टोर में संग्रहीत सॉर्टेड सेट मान के उच्चतम स्कोर वाले तत्व को हटाने और वापस करने के तरीके के बारे में बस इतना ही। अगर आपको यह पसंद आया, तो कृपया कमेंट सेक्शन में अपने विचार साझा करें और इसे दूसरों के साथ भी साझा करें।