इस ट्यूटोरियल में, हम सीखेंगे कि Redis LPOP और BLPOP कमांड का उपयोग करके Redis डेटास्टोर में किसी कुंजी पर संग्रहीत लिस्ट मान के पहले तत्व को कैसे हटाएं और वापस करें।
LPOP कमांड
यह कमांड निर्दिष्ट कुंजी पर संग्रहीत लिस्ट मान के पहले तत्व को हटाने और वापस करने के लिए उपयोग किया जाता है। यदि कुंजी मौजूद नहीं है तो Nil वापस किया जाता है और यदि कुंजी मौजूद है लेकिन उस कुंजी पर संग्रहीत मान लिस्ट डेटा प्रकार का नहीं है तो त्रुटि वापस की जाती है।
सिंटैक्स :-
redis host:port> LPOP <keyname>
आउटपुट :-
- (स्ट्रिंग) रिप्लाई, लिस्ट के पहले तत्व को दर्शाता है। - (nil), यदि कुंजी मौजूद नहीं है। - Error, यदि कुंजी मौजूद है और उस कुंजी पर संग्रहीत मान लिस्ट नहीं है।
उदाहरण :-

BLPOP कमांड
यह कमांड LPOP कमांड का ब्लॉकिंग संस्करण है क्योंकि यह ऑपरेशन को ब्लॉक कर देता है जब निर्दिष्ट लिस्ट्स में से किसी से भी पॉप करने के लिए कोई तत्व नहीं होता। दूसरे शब्दों में, यह ऑपरेशन को ब्लॉक कर देता है जब सभी निर्दिष्ट लिस्ट्स खाली होती हैं या सभी निर्दिष्ट कुंजियाँ मौजूद नहीं होतीं।
यह निर्दिष्ट कुंजियों को बाएं से दाएं जांचते हुए, गैर-खाली लिस्ट मान के पहले तत्व को हटाता और वापस करता है। उदाहरण के लिए, यदि कमांड BLPOP list1 list2 list3 0 निष्पादित की जाती है, जहां कुंजी list1 मौजूद नहीं है (इसे खाली लिस्ट मानें), list2 एक खाली लिस्ट है और list3 में तीन तत्व हैं, तो यह list3 पर संग्रहीत लिस्ट मान के पहले तत्व को हटाता और वापस करता है क्योंकि list1 से list3 तक जांचने पर यह पहला गैर-खाली लिस्ट है।
यदि निर्दिष्ट कुंजी मौजूद नहीं है या निर्दिष्ट कुंजी का लिस्ट मान खाली है, तो BLPOP ऑपरेशन को तब तक ब्लॉक करता है जब तक कोई अन्य क्लाइंट LPUSH, RPUSH, और LINSERT जैसी कमांड निष्पादित करके निर्दिष्ट कुंजियों में से किसी एक में तत्व नहीं डालता। एक बार किसी लिस्ट मान पर नया तत्व मौजूद होने पर, क्लाइंट कुंजी के नाम के साथ वापस आता है जिससे यह अनब्लॉक हो जाता है और पॉप किया गया मान वापस करता है।
जब BLPOP क्लाइंट को ब्लॉक करता है और गैर-शून्य टाइमआउट निर्दिष्ट किया जाता है, तो क्लाइंट तब अनब्लॉक होकर nil मान वापस करता है जब निर्दिष्ट टाइमआउट कम से कम एक निर्दिष्ट कुंजी के विरुद्ध सम्मिलन ऑपरेशन के बिना समाप्त हो जाता है।
टाइमआउट तर्क एक पूर्णांक मान है जो ब्लॉक करने के लिए अधिकतम सेकंड की संख्या को दर्शाता है। 0 सेकंड के टाइमआउट का उपयोग अनिश्चित काल तक ब्लॉक करने के लिए किया जा सकता है।
सिंटैक्स :-
redis host:port> BLPOP <keyname-1> [ <keyname> ] <timeout>
आउटपुट :-
- (ऐरे) रिप्लाई, दो तत्व वापस किए जाते हैं जहां पहला तत्व पॉप किए गए तत्व की कुंजी का नाम है और दूसरा तत्व पॉप किया गया तत्व स्वयं है। - (nil), जब कोई तत्व पॉप नहीं किया जा सका और टाइमआउट समाप्त हो गया।
उदाहरण :-

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