এই টিউটোরিয়ালে আমরা শিখব কিভাবে Redis ডেটাস্টোরে একটি কীতে সংরক্ষিত লিস্ট ভ্যালুর শেষ এলিমেন্ট সরিয়ে রিটার্ন করা যায়। এর জন্য আমরা Redis RPOP এবং BRPOP কমান্ড ব্যবহার করব।
RPOP কমান্ড
এই কমান্ড নির্দিষ্ট কীতে সংরক্ষিত লিস্ট ভ্যালুর শেষ এলিমেন্ট সরিয়ে রিটার্ন করে। কী না থাকলে nil রিটার্ন হয় এবং কী থাকেও লিস্ট ডেটা টাইপ ছাড়া অন্য ডেটা টাইপ থাকলে এরর রিটার্ন হয়। Redis RPOP কমান্ডের সিনট্যাক্স:
সিনট্যাক্স:
redis host:port> RPOP <keyname>
আউটপুট:
- (স্ট্রিং) রিপ্লাই, লিস্টের শেষ এলিমেন্ট। - (nil), যদি কী না থাকে। - এরর, যদি কী থাকেও লিস্ট ছাড়া অন্য ডেটা টাইপ থাকে।
উদাহরণ:

BRPOP কমান্ড
এই কমান্ড RPOP কমান্ডের ব্লকিং ভার্সন, কারণ এটি অপারেশন ব্লক করে দেয় যখন স্পেসিফাইড লিস্টগুলোর যেকোনো থেকে পপ করার জন্য এলিমেন্ট নেই। অন্য কথায়, এটি অপারেশন ব্লক করে যখন সব স্পেসিফাইড লিস্ট খালি থাকে বা সব স্পেসিফাইড কী নেই।
এটি বাম থেকে ডানে চেক করে প্রথম নন-এম্পটি লিস্ট ভ্যালুর শেষ এলিমেন্ট সরিয়ে রিটার্ন করে। উদাহরণস্বরূপ, যদি BRPOP list1 list2 list3 0 এক্সিকিউট করা হয়, যেখানে list1 কী নেই (খালি লিস্ট ধরা হয়), list2 খালি লিস্ট, এবং list3 তিনটি এলিমেন্ট ধারণ করে, তবে এটি list3-এর লিস্ট ভ্যালুর শেষ এলিমেন্ট সরিয়ে রিটার্ন করবে, কারণ বাম থেকে ডানে চেক করার সময় এটি প্রথম নন-এম্পটি লিস্ট।
যদি স্পেসিফাইড কী না থাকে বা কীটির লিস্ট ভ্যালু খালি থাকে, তবে BRPOP অপারেশন ব্লক করে रखে যতক্ষণ না অন্য একটি ক্লায়েন্ট LPUSH, RPUSH, বা LINSERT কমান্ড দিয়ে স্পেসিফাইড কীগুলোর যেকোনো একটিতে এলিমেন্ট ইনসার্ট করে। একবার যেকোনো লিস্ট ভ্যালুতে নতুন এলিমেন্ট আসলে, ক্লায়েন্ট কীয়ের নাম ও পপ করা ভ্যালু রিটার্ন করে আনব্লক হয়।
যখন BRPOP ক্লায়েন্টকে ব্লক করে এবং নন-জিরো টাইমআউট স্পেসিফাই করা থাকে, তবে স্পেসিফাইড টাইমআউট এক্সপায়ার হলে কমপক্ষে একটি স্পেসিফাইড কীতে ইনসার্ট অপারেশন ছাড়া ক্লায়েন্ট nil ভ্যালু রিটার্ন করে আনব্লক হয়।
টাইমআউট আর্গুমেন্ট হলো একটি ইন্টিজার ভ্যালু যা ব্লক করার সর্বোচ্চ সেকেন্ড সংখ্যা নির্দেশ করে। ০ সেকেন্ডের টাইমআউট ব্যবহার করে অনিশ্চিতকালের জন্য ব্লক করা যায়।
Redis BRPOP কমান্ডের সিনট্যাক্স:
সিনট্যাক্স:
redis host:port> BRPOP <keyname-1> [ <keyname> ] <timeout>
আউটপুট:
- (অ্যারে) রিপ্লাই, দুটি এলিমেন্ট রিটার্ন হয় যেখানে প্রথম এলিমেন্ট হলো পপ করা এলিমেন্টের কীয়ের নাম এবং দ্বিতীয় এলিমেন্ট হলো পপ করা এলিমেন্টটি। - (nil), যখন কোনো এলিমেন্ট পপ করা যায়নি এবং টাইমআউট এক্সপায়ার হয়েছে।
উদাহরণ:

রেফারেন্স:
- RPOP কমান্ড ডকুমেন্টেশন
- BRPOP কমান্ড ডকুমেন্টেশন
Redis ডেটাস্টোরে লিস্ট ভ্যালুর শেষ এলিমেন্ট সরিয়ে রিটার্ন করার পদ্ধতিই ছিল এইসব। আপনার মতামত কমেন্টে শেয়ার করুন এবং অন্যদের জানান।