इस ट्यूटोरियल में, हम सीखेंगे कि रेडिस ZPOPMAX और BZPOPMAX कमांड का उपयोग करके रेडिस डेटास्टोर में एक कुंजी पर संग्रहीत सॉर्ट किए गए सेट मान के उच्चतम स्कोर तत्व को कैसे निकालें और वापस करें।
ZPOPMAX कमांड
यह कमांड एक निर्दिष्ट कुंजी पर संग्रहीत सॉर्ट किए गए सेट मान से एक या अधिक उच्चतम स्कोर तत्वों को हटाता है और लौटाता है। कमांड गिनती takes लेता है एक तर्क के रूप में, जो क्रमबद्ध सेट मान से हटाए जाने वाले तत्वों की कुल संख्या का प्रतिनिधित्व करता है। यदि यह निर्दिष्ट नहीं है, तो गणना का डिफ़ॉल्ट मान 1 है। जब तत्व लौटाए जाते हैं, तो उच्चतम स्कोर वाला पहला होगा, उसके बाद कम स्कोर वाले तत्व होंगे।
यदि कोई कुंजी मौजूद है, लेकिन कुंजी पर संग्रहीत मान सॉर्ट किए गए सेट डेटाटाइप का नहीं है, तो त्रुटि वापस आ जाती है और यदि कुंजी मौजूद नहीं है, तो शून्य वापस कर दिया जाता है।
Redis ZPOPMAX कमांड का सिंटैक्स इस प्रकार है :-
सिंटैक्स:-
redis host:post> ZPOPMAX <keyname> <count>
आउटपुट:-
- (array) reply, representing elements and scores of the sorted set. - (nil), if key does not exists. - Error, if key exist and value stored at the key is not a sorted set.
उदाहरण :-
BZPOPMAX कमांड
यह कमांड ZPOPMAX कमांड का ब्लॉकिंग वर्जन है क्योंकि यह किसी भी निर्दिष्ट सॉर्ट किए गए सेट से पॉप करने के लिए कोई तत्व नहीं होने पर ऑपरेशन को ब्लॉक कर देता है। दूसरे शब्दों में, जब सभी निर्दिष्ट सॉर्ट किए गए सेट खाली होते हैं या सभी निर्दिष्ट कुंजियाँ मौजूद नहीं होती हैं, तो यह ऑपरेशन को ब्लॉक कर देता है।
यह पहले गैर-रिक्त सॉर्ट किए गए सेट मान से उच्चतम स्कोर तत्व को हटाता है और लौटाता है, जिसमें निर्दिष्ट कुंजियों को बाएं से दाएं चेक किया जाता है। तो उदाहरण के लिए, अगर BZPOPMAX set1 set2 set3 0 . कमांड करें निष्पादित किया जाता है, जहां कुंजी सेट1 . है मौजूद नहीं है (एक खाली सेट के रूप में विचार करें), set2 एक खाली सेट है और set3 इसमें तीन तत्व होते हैं, फिर यह set3 पर संग्रहीत सॉर्ट किए गए सेट मान के उच्चतम स्कोर तत्व को हटाता है और लौटाता है चूंकि यह पहला गैर-खाली सेट है, जब सेट 1 से सेट 3 की जाँच की जाती है।
यह आदेश समयबाह्य takes लेता है (पूर्णांक) एक तर्क के रूप में, जो ब्लॉक करने के लिए सेकंड की अधिकतम संख्या का प्रतिनिधित्व करता है। शून्य के समयबाह्य का उपयोग अनिश्चित काल के लिए अवरुद्ध करने के लिए किया जा सकता है।
रेडिस BZPOPMAX कमांड का सिंटैक्स इस प्रकार है :-
सिंटैक्स:-
redis host:post> BZPOPMAX <keyname> [ <keyname> ] <timeout>
आउटपुट:-
- (array) reply, three elements are returned where first element is name of the sorted set key, the second element is the score of the popped element and third element is the popped element itself. - (nil), when no element could be popped and timeout is expired.
उदाहरण :-
संदर्भ :-
- ZPOPMAX कमांड डॉक्स
- BZPOPMAX कमांड डॉक्स
रेडिस डेटास्टोर में संग्रहीत सॉर्ट किए गए सेट मान के उच्चतम स्कोर तत्व को निकालने और वापस करने के लिए बस इतना ही। अगर आपको यह पसंद आया हो, तो कृपया अपने विचार कमेंट सेक्शन में साझा करें और दूसरों के साथ भी साझा करें।