Messaging Redis र संग NodeJ

Messaging Redis NodeJS सँग एकीकृत हुँदा को साझा अनुप्रयोगहरू मध्ये एक हो । Redis लचिलो डाटा संरचनाहरू प्रदान गर्दछ जस्तै Pub/Sub(Publish/Subscribe) र Message Queue, संचार प्रणालीको निर्माण र एप्लिकेसनमा कम्पोनेन्टहरू बीच डाटा आदानप्रदान सक्षम पार्दै।

Pub/Sub(Publish/Subscribe)

Pub/Sub सन्देशहरू दर्ता र प्रसारण गरेर सञ्चार गर्न अनुप्रयोगका घटकहरूलाई अनुमति दिन्छ। एक कम्पोनेन्टले प्रकाशकको ​​रूपमा काम गर्न सक्छ, च्यानलमा सन्देशहरू पठाउन सक्छ, र अन्य घटकहरूले त्यस च्यानलमा सन्देशहरू सुनेर सदस्यहरूको रूपमा कार्य गर्न सक्छन्।

र NodeJS Pub/Sub सँग प्रयोग गर्ने उदाहरण: Redis

const Redis = require('ioredis');  
const subscriber = new Redis();  
const publisher = new Redis();  
  
// Subscribe and listen for messages on the 'notifications' channel  
subscriber.subscribe('notifications',(err, count) => {  
  console.log(`Subscribed to ${count} channels.`);  
});  
  
// Handle messages when received from the 'notifications' channel  
subscriber.on('message',(channel, message) => {  
  console.log(`Received message from channel '${channel}': ${message}`);  
});  
  
// Publish a message to the 'notifications' channel  
publisher.publish('notifications', 'New notification!');  

Message Queue

Redis Message Queue एसिन्क्रोनस कार्यहरू व्यवस्थापन र प्रशोधन गर्नको रूपमा प्रयोग गर्न सकिन्छ । यसले विलम्बता कम गर्न र अनुप्रयोगको स्केलेबिलिटी बढाउन मद्दत गर्दछ।

र NodeJS Message Queue सँग प्रयोग गर्ने उदाहरण: Redis

const Redis = require('ioredis');  
const client = new Redis();  
  
// Add a task to the 'tasks' queue  
client.rpush('tasks', JSON.stringify({ id: 1, data: 'Task 1' }));  
  
// Process tasks from the 'tasks' queue  
function processTask() {  
  client.lpop('tasks',(err, task) => {  
    if(task) {  
      const parsedTask = JSON.parse(task);  
      console.log('Processing task:', parsedTask);  
      // Process the task here...  
  
      // Continue processing the next tasks  
      processTask();  
    }  
  });  
}  
  
// Start processing tasks from the queue  
processTask();  

नोट: यी NodeJS को साथ Redis प्रयोग गर्ने आधारभूत उदाहरणहरू हुन् । Messaging अभ्यासमा, कार्यान्वयन र स्केलिंग Messaging प्रणालीहरू अधिक जटिल हुन सक्छन् र अनुप्रयोगको विशिष्ट आवश्यकताहरूमा निर्भर हुन सक्छन्। अधिक जटिल प्रणालीहरूमा Redis NodeJS सँग एकीकरण गर्दा सुरक्षा, त्रुटि ह्यान्डलिंग, र कार्यसम्पादन अप्टिमाइजेसनलाई विचार गर्नुहोस् । Messaging