এই টিউটোরিয়ালে, আমরা কীভাবে রিডিস ডেটাস্টোরের একটি কী-তে সংরক্ষিত তালিকার মানের প্রথম উপাদানটি সরাতে এবং ফেরত দিতে হয় সে সম্পর্কে শিখব। এর জন্য, আমরা redis LPOP ব্যবহার করব এবং BLPOP কমান্ড।
LPOP কমান্ড
এই কমান্ডটি নির্দিষ্ট কী এ সংরক্ষিত তালিকা মানের প্রথম উপাদানটি সরাতে এবং ফেরত দিতে ব্যবহৃত হয়। Nil ফেরত দেওয়া হয়, যদি একটি কী বিদ্যমান না থাকে এবং একটি ত্রুটি ফেরত দেওয়া হয়, যদি কীটি বিদ্যমান থাকে কিন্তু কীটিতে সংরক্ষিত মান তালিকা ডেটাটাইপের না হয়। Redis LPOP কমান্ডের সিনট্যাক্স নিম্নরূপ:-
সিনট্যাক্স :-
redis host:post> LPOP <keyname>
আউটপুট :-
- (string) reply, representing first element of the list. - (nil), if key does not exists. - Error, if key exist and value stored at the key is not a list.
উদাহরণ :-
BLPOP কমান্ড
এই কমান্ডটি LPOP কমান্ডের একটি ব্লকিং সংস্করণ কারণ এটি কোনো নির্দিষ্ট তালিকা থেকে পপ করার জন্য কোনো উপাদান না থাকলে এটি অপারেশনকে ব্লক করে। অন্য কথায়, যখন সমস্ত নির্দিষ্ট তালিকা খালি থাকে বা সমস্ত নির্দিষ্ট কী বিদ্যমান থাকে না তখন এটি অপারেশনকে অবরুদ্ধ করে৷
এটি একটি অ-খালি তালিকা মানের প্রথম উপাদানটিকে সরিয়ে দেয় এবং ফেরত দেয়, নির্দিষ্ট কীগুলি বাম থেকে ডানে চেক করা হয়। উদাহরণস্বরূপ, যদি BLPOP list1 list2 list3 0 কমান্ড সম্পাদিত হয়, যেখানে কী list1 বিদ্যমান নেই ( একটি খালি তালিকা হিসাবে বিবেচনা করুন ), list2 একটি খালি তালিকা এবং তালিকা3 তিনটি উপাদান ধারণ করে, তারপর এটি list3 এ সঞ্চিত তালিকা মানের প্রথম উপাদান সরিয়ে দেয় এবং ফেরত দেয় যেহেতু এটি প্রথম অ-খালি তালিকা, যখন list1 থেকে list3 এ চেক করা হয়।
যদি হয় নির্দিষ্ট কী বিদ্যমান না থাকে বা নির্দিষ্ট কী-এর তালিকার মান খালি থাকে, তাহলে BLPOP অপারেশনটি ব্লক করে যতক্ষণ না অন্য ক্লায়েন্ট LPUSH, RPUSH, এবং LINSERT-এর মতো একটি নির্দেশ কার্যকর করে নির্দিষ্ট কীগুলির মধ্যে একটিতে একটি উপাদান ঢোকানোর জন্য। একবার তালিকার মানগুলির মধ্যে একটিতে নতুন উপাদান উপস্থিত হলে, ক্লায়েন্ট সেটিকে আনব্লক করার কীটির নাম এবং পপ করা মান সহ ফেরত দেয়।
যখন BLPOP একটি ক্লায়েন্টকে ব্লক করে দেয় এবং একটি অ-শূন্য টাইমআউট নির্দিষ্ট করা হয়, তখন ক্লায়েন্ট রিটার্নিং শূন্য মান আনব্লক করবে যখন নির্দিষ্ট কীগুলির মধ্যে অন্তত একটির বিরুদ্ধে একটি সন্নিবেশ অপারেশন ছাড়াই নির্দিষ্ট সময়সীমা শেষ হয়ে যায়।
একটি টাইমআউট আর্গুমেন্ট হল একটি পূর্ণসংখ্যার মান যা ব্লক করতে সেকেন্ডের সর্বাধিক সংখ্যক প্রতিনিধিত্ব করে। অনির্দিষ্টকালের জন্য ব্লক করতে 0 সেকেন্ডের একটি টাইমআউট ব্যবহার করা যেতে পারে৷
Redis BLPOP কমান্ডের সিনট্যাক্স নিম্নরূপ:-
সিনট্যাক্স :-
redis host:post> BLPOP <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.
উদাহরণ :-
রেফারেন্স :-
- LPOP কমান্ড ডক্স
- BLPOP কমান্ড ডক্স
রেডিস ডেটাস্টোরে সংরক্ষিত তালিকা মানের প্রথম উপাদানটি কীভাবে সরিয়ে দেওয়া যায় এবং ফেরত দেওয়া যায় তার জন্যই এটি। আপনি যদি এটি পছন্দ করেন, অনুগ্রহ করে মন্তব্য বিভাগে আপনার চিন্তা শেয়ার করুন এবং অন্যদের সাথেও শেয়ার করুন৷