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