কম্পিউটার টিউটোরিয়াল

Redis LPOP ও BLPOP: লিস্টের প্রথম এলিমেন্ট সরিয়ে রিটার্ন করুন

এই টিউটোরিয়ালে আমরা শিখব কিভাবে Redis ডেটাস্টোরে একটি কীতে সংরক্ষিত লিস্ট ভ্যালুর প্রথম এলিমেন্ট সরিয়ে রিটার্ন করা যায়। এর জন্য আমরা Redis LPOP এবং BLPOP কমান্ড ব্যবহার করব।

LPOP কমান্ড

এই কমান্ড নির্দিষ্ট কীতে সংরক্ষিত লিস্ট ভ্যালুর প্রথম এলিমেন্ট সরিয়ে রিটার্ন করে। কী না থাকলে nil রিটার্ন হয় এবং কী থাকেও লিস্ট ডেটা টাইপ ছাড়া অন্য ডেটা টাইপ থাকলে এরর রিটার্ন হয়। Redis LPOP কমান্ডের সিনট্যাক্স:

সিনট্যাক্স:

redis host:port> LPOP <keyname>

আউটপুট:

- (স্ট্রিং) রিপ্লাই, লিস্টের প্রথম এলিমেন্ট। - (nil), যদি কী না থাকে। - এরর, যদি কী থাকেও লিস্ট ছাড়া অন্য ডেটা টাইপ থাকে।

উদাহরণ:

Redis LPOP ও BLPOP: লিস্টের প্রথম এলিমেন্ট সরিয়ে রিটার্ন করুন

BLPOP কমান্ড

এই কমান্ড LPOP কমান্ডের ব্লকিং ভার্সন, কারণ এটি অপারেশন ব্লক করে দেয় যখন স্পেসিফাইড লিস্টগুলোর যেকোনো থেকে পপ করার জন্য এলিমেন্ট নেই। অন্য কথায়, এটি অপারেশন ব্লক করে যখন সব স্পেসিফাইড লিস্ট খালি থাকে বা সব স্পেসিফাইড কী নেই।

এটি বাম থেকে ডানে চেক করে প্রথম নন-এম্পটি লিস্ট ভ্যালুর প্রথম এলিমেন্ট সরিয়ে রিটার্ন করে। উদাহরণস্বরূপ, যদি BLPOP list1 list2 list3 0 এক্সিকিউট করা হয়, যেখানে list1 কী নেই (খালি লিস্ট ধরা হয়), list2 খালি লিস্ট, এবং list3 তিনটি এলিমেন্ট ধারণ করে, তবে এটি list3-এর লিস্ট ভ্যালুর প্রথম এলিমেন্ট সরিয়ে রিটার্ন করবে, কারণ বাম থেকে ডানে চেক করার সময় এটি প্রথম নন-এম্পটি লিস্ট।

যদি স্পেসিফাইড কী না থাকে বা কীটির লিস্ট ভ্যালু খালি থাকে, তবে BLPOP অপারেশন ব্লক করে রাখে যতক্ষণ না অন্য একটি ক্লায়েন্ট LPUSH, RPUSH, বা LINSERT কমান্ড দিয়ে স্পেসিফাইড কীগুলোর যেকোনো একটিতে এলিমেন্ট ইনসার্ট করে। একবার যেকোনো লিস্ট ভ্যালুতে নতুন এলিমেন্ট আসলে, ক্লায়েন্ট কীয়ের নাম ও পপ করা ভ্যালু রিটার্ন করে আনব্লক হয়।

যখন BLPOP ক্লায়েন্টকে ব্লক করে এবং নন-জিরো টাইমআউট স্পেসিফাই করা থাকে, তবে স্পেসিফাইড টাইমআউট এক্সপায়ার হলে কমপক্ষে একটি স্পেসিফাইড কীতে ইনসার্ট অপারেশন ছাড়া ক্লায়েন্ট nil ভ্যালু রিটার্ন করে আনব্লক হয়।

টাইমআউট আর্গুমেন্ট হলো একটি ইন্টিজার ভ্যালু যা ব্লক করার সর্বোচ্চ সেকেন্ড সংখ্যা নির্দেশ করে। ০ সেকেন্ডের টাইমআউট ব্যবহার করে অনিশ্চিতকালের জন্য ব্লক করা যায়।

Redis BLPOP কমান্ডের সিনট্যাক্স:

সিনট্যাক্স:

redis host:port> BLPOP <keyname-1> [ <keyname> ] <timeout>

আউটপুট:

- (অ্যারে) রিপ্লাই, দুটি এলিমেন্ট রিটার্ন হয় যেখানে প্রথম এলিমেন্ট হলো পপ করা এলিমেন্টের কীয়ের নাম এবং দ্বিতীয় এলিমেন্ট হলো পপ করা এলিমেন্টটি। - (nil), যখন কোনো এলিমেন্ট পপ করা যায়নি এবং টাইমআউট এক্সপায়ার হয়েছে।

উদাহরণ:

Redis LPOP ও BLPOP: লিস্টের প্রথম এলিমেন্ট সরিয়ে রিটার্ন করুন

রেফারেন্স:

  1. LPOP কমান্ড ডকুমেন্টেশন
  2. BLPOP কমান্ড ডকুমেন্টেশন

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

<- লিস্ট কমান্ডসমূহ


  1. Redis RPOP ও BRPOP: লিস্টের শেষ এলিমেন্ট দক্ষতার সাথে পপ করুন

  2. Redis RPUSH ও RPUSHX: লিস্টের শেষে এলিমেন্ট ইনসার্ট করার পদ্ধতি

  3. Redis LPUSH ও LPUSHX: লিস্টের হেডে এলিমেন্ট ইনসার্ট করার পদ্ধতি

  4. রেডিস লিস্ট অপারেশন মাস্টার করুন: লিস্ট মান পরিচালনার কী কমান্ডসমূহ