इस ट्यूटोरियल में, हम सीखेंगे कि रेडिस डेटास्टोर में एक कुंजी पर संग्रहीत सूची मूल्य के अंतिम तत्व को कैसे निकालें और वापस करें। इसके लिए हम रेडिस का प्रयोग करेंगे RPOP और बीआरपीओपी आदेश।
RPOP कमांड
इस कमांड का उपयोग निर्दिष्ट कुंजी पर संग्रहीत सूची मान के अंतिम तत्व को हटाने और वापस करने के लिए किया जाता है। यदि कोई कुंजी मौजूद नहीं है और एक त्रुटि वापस आती है, यदि कुंजी मौजूद है, लेकिन कुंजी पर संग्रहीत मान सूची डेटाटाइप का नहीं है, तो शून्य वापस कर दिया जाता है। Redis RPOP कमांड का सिंटैक्स इस प्रकार है:-
सिंटैक्स:-
redis host:post> RPOP <keyname>
आउटपुट:-
- (string) reply, representing last element of the list. - (nil), if key does not exists. - Error, if key exist and value stored at the key is not a list.
उदाहरण :-
बीआरपीओपी कमांड
यह कमांड RPOP कमांड का एक ब्लॉकिंग वर्जन है क्योंकि यह ऑपरेशन को तब ब्लॉक करता है जब किसी भी निर्दिष्ट सूची से पॉप करने के लिए कोई तत्व नहीं होता है। दूसरे शब्दों में, जब सभी निर्दिष्ट सूचियाँ खाली होती हैं या सभी निर्दिष्ट कुंजियाँ मौजूद नहीं होती हैं, तो यह ऑपरेशन को ब्लॉक कर देता है।
यह एक गैर-रिक्त सूची मान के अंतिम तत्व को हटाता है और लौटाता है, जिसमें निर्दिष्ट कुंजियों को बाएं से दाएं की जाँच की जाती है। तो उदाहरण के लिए, अगर BRPOP list1 list2 list3 0 . कमांड करें निष्पादित किया जाता है, जहां कुंजी सूची1 . है मौजूद नहीं है (एक खाली सूची के रूप में विचार करें), list2 एक खाली सूची है और सूची3 इसमें तीन तत्व होते हैं, फिर यह list3 . पर संग्रहीत सूची मान के अंतिम तत्व को हटा देता है और वापस कर देता है क्योंकि यह पहली गैर-खाली सूची है, जब सूची 1 से सूची 3 की जाँच की जाती है।
यदि या तो निर्दिष्ट कुंजी मौजूद नहीं है या निर्दिष्ट कुंजी का सूची मान खाली है, तो BRPOP ऑपरेशन को तब तक अवरुद्ध करता है जब तक कि कोई अन्य क्लाइंट निर्दिष्ट कुंजियों में से एक में एक तत्व सम्मिलित करने के लिए LPUSH, RPUSH और LINSERT जैसे कमांड निष्पादित नहीं करता है। सूची मानों में से किसी एक पर एक नया तत्व मौजूद होने के बाद, क्लाइंट कुंजी के नाम से इसे अनब्लॉक करने और पॉप किए गए मान के साथ वापस आ जाता है।
जब बीआरपीओपी किसी क्लाइंट को ब्लॉक करने का कारण बनता है और एक गैर-शून्य टाइमआउट निर्दिष्ट किया जाता है, तो क्लाइंट शून्य मान लौटाने को अनब्लॉक कर देगा, जब निर्दिष्ट समयबाह्य कम से कम एक निर्दिष्ट कुंजी के विरुद्ध सम्मिलित ऑपरेशन के बिना समाप्त हो गया हो।
एक टाइमआउट तर्क एक पूर्णांक मान है जो ब्लॉक करने के लिए अधिकतम सेकंड का प्रतिनिधित्व करता है। 0 सेकंड के टाइमआउट का उपयोग अनिश्चित काल के लिए ब्लॉक करने के लिए किया जा सकता है।
Redis BRPOP कमांड का सिंटैक्स इस प्रकार है :-
सिंटैक्स:-
redis host:post> BRPOP <keyname-1> [ <keyname> ] <timeout>
आउटपुट:-
- (array) reply, two elements are returned where first element is name of the popped element key and second element is the popped element itself. - (nil), when no element could be popped and timeout is expired.
उदाहरण :-
संदर्भ :-
- RPOP कमांड डॉक्स
- बीआरपीओपी कमांड डॉक्स
रेडिस डेटास्टोर में संग्रहीत सूची मान के अंतिम तत्व को निकालने और वापस करने के लिए बस इतना ही। अगर आपको यह पसंद आया हो, तो कृपया अपने विचार कमेंट सेक्शन में साझा करें और दूसरों के साथ भी साझा करें।