Database Tutorials Publish এবং Subscribe Command এর ব্যবহার গাইড ও নোট

358

রেডিস (Redis)-এ Publish/Subscribe (Pub/Sub) মডেল একটি শক্তিশালী মেসেজিং মেকানিজম যা মেসেজ পাঠানো এবং গ্রহণ করার জন্য ব্যবহৃত হয়। এই মডেলটি মূলত দুইটি পক্ষের মধ্যে যোগাযোগ স্থাপন করে: Publisher এবং Subscriber। Publisher মেসেজ পাঠায় এবং Subscriber সেই মেসেজ গ্রহণ করে।

রেডিসের Pub/Sub সিস্টেম ব্যবহার করে আপনি রিয়েল-টাইম অ্যাপ্লিকেশন যেমন চ্যাট সিস্টেম, লাইভ আপডেট, মেসেজিং সার্ভিস এবং অনেক অন্যান্য ক্ষেত্রে মেসেজ ব্রোকার হিসেবে কাজ করতে পারেন।


Publish/Subscribe (Pub/Sub) কমান্ডের ব্যবহার

রেডিস Pub/Sub মডেলটি তিনটি মূল কমান্ডের উপর ভিত্তি করে কাজ করে:

  1. PUBLISH: মেসেজ পাঠানো।
  2. SUBSCRIBE: চ্যানেল সাবস্ক্রাইব করা।
  3. UNSUBSCRIBE: চ্যানেল সাবস্ক্রাইব বন্ধ করা।

১. PUBLISH কমান্ড

PUBLISH কমান্ড ব্যবহার করে একটি চ্যানেলে মেসেজ পাঠানো হয়। এটি Publisher হিসেবে কাজ করে।

সিনট্যাক্স:

PUBLISH <channel> <message>
  • <channel>: চ্যানেলের নাম (যেখানে মেসেজ পাঠানো হবে)।
  • <message>: পাঠানো মেসেজ।

উদাহরণ:

PUBLISH news "Breaking News: Redis now supports Pub/Sub!"

এটি news চ্যানেলে "Breaking News: Redis now supports Pub/Sub!" মেসেজটি পাঠাবে।


২. SUBSCRIBE কমান্ড

SUBSCRIBE কমান্ড ব্যবহার করে একটি চ্যানেল সাবস্ক্রাইব করা হয়। Subscriber এই চ্যানেল থেকে পাঠানো মেসেজ গ্রহণ করবে।

সিনট্যাক্স:

SUBSCRIBE <channel>
  • <channel>: চ্যানেলের নাম যা আপনি সাবস্ক্রাইব করতে চান।

উদাহরণ:

SUBSCRIBE news

এটি news চ্যানেলটি সাবস্ক্রাইব করবে এবং সেই চ্যানেলে কোন মেসেজ পাঠানো হলে তা শোনাবে।

ব্যাখ্যা: যদি আপনি উপরের কমান্ড রান করেন, তবে আপনি মেসেজ পাবেন, যেমন:

+news
"Breaking News: Redis now supports Pub/Sub!"

এখানে, +news চ্যানেলটির নাম এবং "Breaking News: Redis now supports Pub/Sub!" মেসেজটি রিটার্ন হবে।


৩. UNSUBSCRIBE কমান্ড

UNSUBSCRIBE কমান্ড ব্যবহার করে একটি চ্যানেল থেকে সাবস্ক্রিপশন বন্ধ করা যায়।

সিনট্যাক্স:

UNSUBSCRIBE <channel>
  • <channel>: যে চ্যানেল থেকে আপনি সাবস্ক্রাইব বন্ধ করতে চান।

উদাহরণ:

UNSUBSCRIBE news

এটি news চ্যানেল থেকে সাবস্ক্রাইব বন্ধ করবে।


৪. PSUBSCRIBE কমান্ড (Pattern-based Subscribe)

PSUBSCRIBE কমান্ড ব্যবহার করে আপনি Pattern Matching এর মাধ্যমে একাধিক চ্যানেল সাবস্ক্রাইব করতে পারেন। এটি চ্যানেলের নামের প্যাটার্নে মিলে এমন সব চ্যানেলে সাবস্ক্রাইব করবে।

সিনট্যাক্স:

PSUBSCRIBE <pattern>
  • <pattern>: চ্যানেল নামের প্যাটার্ন।

উদাহরণ:

PSUBSCRIBE news*

এটি news, news.sports, news.weather ইত্যাদি সব চ্যানেলগুলোকে সাবস্ক্রাইব করবে যেগুলো news দিয়ে শুরু হয়।


৫. PUNSUBSCRIBE কমান্ড

PUNSUBSCRIBE কমান্ড ব্যবহার করে আপনি Pattern-based সাবস্ক্রিপশন বন্ধ করতে পারেন।

সিনট্যাক্স:

PUNSUBSCRIBE <pattern>

উদাহরণ:

PUNSUBSCRIBE news*

এটি news* প্যাটার্নের সব চ্যানেল থেকে সাবস্ক্রিপশন বন্ধ করবে।


Pub/Sub Workflow

  1. Publisher: মেসেজ পাঠাবে, যেমন:

    PUBLISH sports "Breaking Sports News!"
    
  2. Subscriber: মেসেজ শোনাবে, যেমন:

    SUBSCRIBE sports
    

    এখন, যতবার sports চ্যানেলে কোনো মেসেজ পাঠানো হবে, Subscriber তা পাবেন।

  3. Unsubscribe: সাবস্ক্রিপশন বন্ধ করতে:

    UNSUBSCRIBE sports
    

Pub/Sub এর ব্যবহার ক্ষেত্র

  1. চ্যাট সিস্টেম: একাধিক ব্যবহারকারী একে অপরকে রিয়েল-টাইম মেসেজ পাঠাতে পারে।
  2. লাইভ আপডেট: ওয়েবসাইটে লাইভ স্কোর, শেয়ার মূল্য, বা সংবাদ হালনাগাদ প্রদর্শন।
  3. নোটিফিকেশন সিস্টেম: ব্যবহারকারীকে বিভিন্ন ইভেন্ট বা পরিবর্তন সম্পর্কে অবহিত করা।
  4. ডিস্ট্রিবিউটেড সিস্টেম: একাধিক সার্ভার বা ক্লায়েন্টের মধ্যে ডেটা ভাগ করা এবং সিঙ্ক্রোনাইজ করা।

সারাংশ

  • Publish/Subscribe (Pub/Sub) মডেল একটি মেসেজিং সিস্টেম, যেখানে Publisher মেসেজ পাঠায় এবং Subscriber সেই মেসেজ গ্রহণ করে।
  • রেডিসের Pub/Sub সিস্টেমে প্রধান কমান্ডগুলো হল: PUBLISH, SUBSCRIBE, UNSUBSCRIBE, PSUBSCRIBE, এবং PUNSUBSCRIBE
  • এটি চ্যাট সিস্টেম, লাইভ আপডেট, নোটিফিকেশন সিস্টেম এবং ডিস্ট্রিবিউটেড সিস্টেমের মতো বিভিন্ন রিয়েল-টাইম অ্যাপ্লিকেশন তৈরিতে ব্যবহৃত হয়।
Content added By
Promotion

Are you sure to start over?

Loading...