কম্পিউটার

কিভাবে একটি তালিকার শেষ উপাদান অপসারণ এবং ফিরিয়ে আনতে হয় – Redis RPOP | বিআরপিওপি

এই টিউটোরিয়ালে, আমরা কীভাবে রিডিস ডেটাস্টোরের একটি কী-তে সংরক্ষিত তালিকার মানের শেষ উপাদানটি সরাতে এবং ফেরত দিতে হয় সে সম্পর্কে শিখব। এর জন্য, আমরা redis RPOP ব্যবহার করব এবং BRPOP কমান্ড।

RPOP কমান্ড

এই কমান্ডটি নির্দিষ্ট কী এ সঞ্চিত তালিকা মানের শেষ উপাদানটি সরাতে এবং ফেরত দিতে ব্যবহৃত হয়। Nil ফেরত দেওয়া হয়, যদি একটি কী বিদ্যমান না থাকে এবং একটি ত্রুটি ফেরত দেওয়া হয়, যদি কী বিদ্যমান থাকে কিন্তু কীটিতে সংরক্ষিত মান তালিকা ডেটাটাইপের না হয়। 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.

উদাহরণ :-

কিভাবে একটি তালিকার শেষ উপাদান অপসারণ এবং ফিরিয়ে আনতে হয় – Redis RPOP | বিআরপিওপি

BRPOP কমান্ড

এই কমান্ডটি RPOP কমান্ডের একটি ব্লকিং সংস্করণ কারণ এটি যখন নির্দিষ্ট তালিকা থেকে পপ করার জন্য কোনো উপাদান থাকে না তখন এটি অপারেশনকে ব্লক করে। অন্য কথায়, যখন সমস্ত নির্দিষ্ট তালিকা খালি থাকে বা সমস্ত নির্দিষ্ট কী বিদ্যমান থাকে না তখন এটি অপারেশনকে অবরুদ্ধ করে।

এটি একটি অ-খালি তালিকা মানের শেষ উপাদানটি সরিয়ে দেয় এবং ফেরত দেয়, নির্দিষ্ট কীগুলি বাম থেকে ডানে চেক করা হয়। উদাহরণস্বরূপ, যদি BRPOP list1 list2 list3 0 কমান্ড সম্পাদিত হয়, যেখানে কী list1 বিদ্যমান নেই ( একটি খালি তালিকা হিসাবে বিবেচনা করুন ), list2 একটি খালি তালিকা এবং তালিকা3 তিনটি উপাদান রয়েছে, তারপর এটি list3-এ সঞ্চিত তালিকা মানের শেষ উপাদানটি সরিয়ে দেয় এবং ফেরত দেয় যেহেতু এটি প্রথম অ-খালি তালিকা, যখন list1 থেকে list3 এ চেক করা হয়।

যদি হয় নির্দিষ্ট কী বিদ্যমান না থাকে বা নির্দিষ্ট কী-এর তালিকার মান খালি থাকে, তাহলে BRPOP অপারেশনটি ব্লক করে যতক্ষণ না অন্য ক্লায়েন্ট LPUSH, RPUSH, এবং LINSERT-এর মতো একটি নির্দেশ কার্যকর করে নির্দিষ্ট কীগুলির একটিতে একটি উপাদান সন্নিবেশ করার জন্য। একবার তালিকার মানগুলির একটিতে একটি নতুন উপাদান উপস্থিত হলে, ক্লায়েন্ট সেটিকে আনব্লক করা কীটির নাম এবং পপ করা মান দিয়ে ফিরে আসে।

যখন BRPOP কোনো ক্লায়েন্টকে ব্লক করে দেয় এবং একটি নন-জিরো টাইমআউট নির্দিষ্ট করা হয়, তখন ক্লায়েন্ট রিটার্নিং শূন্য মান আনব্লক করবে যখন নির্দিষ্ট কীগুলির মধ্যে অন্তত একটির বিরুদ্ধে একটি সন্নিবেশ অপারেশন ছাড়াই নির্দিষ্ট সময়সীমা শেষ হয়ে যায়।

একটি টাইমআউট আর্গুমেন্ট হল একটি পূর্ণসংখ্যা মান যা ব্লক করার জন্য সর্বাধিক সেকেন্ডের প্রতিনিধিত্ব করে। অনির্দিষ্টকালের জন্য ব্লক করতে 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.

উদাহরণ :-

কিভাবে একটি তালিকার শেষ উপাদান অপসারণ এবং ফিরিয়ে আনতে হয় – Redis RPOP | বিআরপিওপি

রেফারেন্স :-

  1. RPOP কমান্ড ডক্স
  2. BRPOP কমান্ড ডক্স

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

<- কমান্ডের তালিকা করুন


  1. কিভাবে একটি তালিকার প্রথম উপাদান অপসারণ এবং ফেরত দিতে হয় – Redis LPOP | BLPOP

  2. কিভাবে তালিকা মানের লেজে উপাদান সন্নিবেশ করা যায় – Redis RPUSH | RPUSHX

  3. তালিকার মানের মাথায় কীভাবে উপাদান সন্নিবেশ করা যায় – Redis LPUSH | LPUSHX

  4. রেডিস তালিকা - রেডিস ডেটাস্টোরে একটি তালিকা মান পরিচালনা করার জন্য কমান্ড