এই টিউটোরিয়ালে, আমরা শিখব কিভাবে নির্দিষ্ট সকোর রেঞ্জের মধ্যে থাকা সর্টেড সেটের সব এলিমেন্ট এসেন্ডিং অর্ডারে (সকোর অনুযায়ী) পাওয়া যায়। এর জন্য আমরা Redis-এর ZRANGEBYSCORE কমান্ড ব্যবহার করব।
ZRANGEBYSCORE কমান্ড
এই কমান্ড সর্টেড সেটের সেই সব এলিমেন্ট রিটার্ন করে যাদের সকোর min (ইনক্লুসিভ) এর চেয়ে বেশি বা সমান এবং max (ইনক্লুসিভ) এর চেয়ে কম বা সমান। এলিমেন্টগুলো সকোর অনুযায়ী এসেন্ডিং অর্ডারে রিটার্ন হয়। যদি একাধিক এলিমেন্টের সকোর সমান হয়, তবে সেগুলো লেক্সিকোগ্রাফিক্যালি এসেন্ডিং অর্ডারে সাজানো হয়।
ডিফল্টভাবে min এবং max আর্গুমেন্টগুলো ক্লোজড ইন্টারভাল (ইনক্লুসিভ) হিসেবে কাজ করে। তবে আপনি তাদের ওপেন ইন্টারভাল (এক্সক্লুসিভ) হিসেবে নির্দিষ্ট করতে পারেন ( ক্যারেক্টার প্রিফিক্স করে। উদাহরণস্বরূপ:
ZRANGEBYSCORE set (1 5
এটি 1 < score ≤ 5 রেঞ্জের সব এলিমেন্ট রিটার্ন করবে। আবার:
ZRANGEBYSCORE zset (5 (10
এটি 5 < score < 10 রেঞ্জের সব এলিমেন্ট রিটার্ন করবে (5 এবং 10 বাদ দেওয়া হবে)।
min এবং max আর্গুমেন্ট হিসেবে -inf (নেগেটিভ ইনফিনিটি) এবং +inf (পজিটিভ ইনফিনিটি) ব্যবহার করা যায়, যাতে সর্টেড সেটের সর্বোচ্চ বা সর্বনিম্ন সকোর জানা না থাকলেও নির্দিষ্ট রেঞ্জ থেকে সব এলিমেন্ট পাওয়া যায়।
অপশনাল আর্গুমেন্টসমূহ
Redis ZRANGEBYSCORE কমান্ড নিম্নলিখিত অপশনাল আর্গুমেন্টগুলো গ্রহণ করে:
- WITHSCORES :- এলিমেন্টের সাথে সকোরও রিটার্ন করে। এই ক্ষেত্রে রিটার্ন করা অ্যারে value1, score1, … valueN, scoreN ফরম্যাটে থাকবে, শুধু value1, …, valueN নয়।
- LIMIT :- offset থেকে শুরু করে count সংখ্যক মিলিত এলিমেন্ট রিটার্ন করে। যদি count নেগেটিভ হয়, তবে offset থেকে বাকি সব এলিমেন্ট রিটার্ন হবে।
যদি কীটি অস্তিত্বে না থাকে, তবে খালি সেট রিটার্ন হবে। আর যদি কীটি আছে কিন্তু ভ্যালু সর্টেড সেট টাইপের না হয়, তবে এরর রিটার্ন হবে। Redis ZRANGEBYSCORE কমান্ডের সিন্ট্যাক্স নিচে দেওয়া হলো:
সিন্ট্যাক্স :-
redis host:port> ZRANGEBYSCORE <keyname> <min> <max> [WITHSCORES] [LIMIT offset count]
আউটপুট :-
- (array) reply, নির্দিষ্ট রেঞ্জের সর্টেড সেট এলিমেন্টগুলো প্রকাশ করে। - Empty Set, যদি কীটি অস্তিত্বে না থাকে। - Error, যদি কীটি আছে কিন্তু ভ্যালু সর্টেড সেট না হয়।
উদাহরণ :-

রেফারেন্স :-
- ZRANGEBYSCORE Command Docs
Redis ডেটাস্টোরে সকোর রেঞ্জ অনুযায়ী সর্টেড সেট এলিমেন্ট এসেন্ডিং অর্ডারে পাওয়ার কথা बस এটুকু। যদি আপনার ভালো লাগে, তবে কমেন্ট সেকশনে আপনার মতামত শেয়ার করুন এবং অন্যদের সাথে শেয়ার করুন।