এই টিউটোরিয়ালে আমরা শিখব কিভাবে Redis ZUNIONSTORE কমান্ড ব্যবহার করে Redis ডেটাস্টোরে সংরক্ষিত দুই বা তার অধিক সর্টেড সেট ভ্যালুর ওপর ইউনিয়ন অপারেশন করা যায়।
সেটের ইউনিয়ন:
সেট থিয়রিতে, দুটি বা অধিক সেটের ইউনিয়ন হলো সেই সেট যাতে সব সেটের ডিস্টিংクト (বিশেষ) এলিমেন্টগুলো থাকে। উদাহরণ:
A = {1, 2, 3, 4, 5} B = {4, 5, 6, 7, 8, 9} A ও B-এর ইউনিয়ন: A U B = {1, 2, 3, 4, 5, 6, 7, 8, 9} ZUNIONSTORE কমান্ড:
এই কমান্ড দুটি বা অধিক নির্দিষ্ট সর্টেড সেটের ইউনিয়ন অপারেশন করে ফলাফল একটি নতুন সর্টেড সেট ভ্যালু হিসেবে নির্দিষ্ট কীতে সংরক্ষণ করে। নন-এксиস্টিং সর্টেড সেটকে খালি সর্টেড সেট ধরে নেওয়া হয়। এরর রিটার্ন হয়, যদি কী থাকেও সর্টেড সেট ছাড়া অন্য ডেটা টাইপ থাকে। Redis ZUNIONSTORE কমান্ডের সিনট্যাক্স:
সিনট্যাক্স:
redis host:port> ZUNIONSTORE <destination> numkeys <keyName> [<keyName>] [WEIGHTS weight [weight]] [AGGREGATE SUM|MIN|MAX]
আউটপুট:
- (অ্যারে) রিপ্লাই, যাতে ইউনিয়ন অপারেশন থেকে ফলাফলগুলো থাকে। - এরর, যদি কী থাকেও সর্টেড সেট ছাড়া অন্য ডেটা টাইপ থাকে।
numkeys হলো ইনপুট কীগুলোর সংখ্যা যাদের ওপর ইউনিয়ন অপারেশন করা হবে। numkeys আর্গুমেন্ট ইনপুট কী এবং অন্যান্য আর্গুমেন্টের আগে পাস করা বাধ্যতামূলক। ফলাফল destination কীতে একটি নতুন সর্টেড সেট হিসেবে সংরক্ষিত হয়। যদি ডেস্টিনেশন কী ইতিমধ্যে থাকে, তবে সেটি আপসর্স্ত হবে।
WEIGHTS অপশন ব্যবহার করে প্রতিটি ইনপুট সর্টেড সেটের জন্য মাল্টিপ্লিকেশন ফ্যাক্টর স্পেসিফাই করা যায়। এর মানে হলো সব ইনপুট সর্টেড সেটের প্রতিটি এলিমেন্টের স্কোর এই ফ্যাক্টর দিয়ে গুণ করা হবে অ্যাগ্রিগেশন ফাংশনে পাস করার আগে। যখন WEIGHTS পাস করা হয় না, তবে মাল্টিপ্লিকেশন ফ্যাক্টর ১ ধরা হয়।
AGGREGATE অপশন ব্যবহার করে ইউনিয়ন ফলাফল কীভাবে অ্যাগ্রিগেট হবে তা স্পেসিফাই করা যায়। এর ডিফল্ট ভ্যালু SUM, অর্থাৎ একটি এলিমেন্টের স্কোর সব ইনপুট সর্টেড সেটে যেখানে আছে সেগুলোর সমষ্টি। যখন এই অপশন MIN বা MAX সেট করা হয়, তবে ফলাফলস্বরূপ সেটে এলিমেন্টের মিনিমাম বা ম্যাক্সিমাম স্কোর থাকবে সাব সেটগুলোতে যেখানে আছে।
উদাহরণ:

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