ioredis: Node.js के लिए Redis क्लाइंट - पूरी गाइड

शुरुआती लोगों के लिए ऑनलाइन Python प्रशिक्षक

Python आसानी से सीखें बिना सिद्धांत के बोझ के। स्वचालित जांच के साथ व्यावहारिक कार्य हल करें और ब्राउज़र में सीधे कोड लिखें।

पाठ्यक्रम शुरू करें

JavaScript (Node.js) के लिए Redis क्लाइंट — ioredis

Redis एक हाई-परफॉर्मेंस की-वैल्यू डेटा स्टोर है, जिसका उपयोग कैशिंग, सेशन मैनेजमेंट, मैसेज क्यू और Pub/Sub सिस्टम के लिए किया जाता है। Node.js से Redis के साथ काम करने के लिए कई लाइब्रेरी हैं, लेकिन सबसे शक्तिशाली और लोकप्रिय है ioredis। यह लाइब्रेरी आधुनिक एप्लिकेशन के लिए बनाई गई है, जिन्हें हाई परफॉर्मेंस, क्लस्टरिंग, ट्रांजेक्शन और स्ट्रीमिंग डेटा प्रोसेसिंग की आवश्यकता होती है।

ioredis क्या है?

ioredis Node.js के लिए एक पूर्ण-सुविधाओं वाला Redis क्लाइंट है, जो JavaScript में लिखा गया है। यह Redis की सभी क्षमताओं को सपोर्ट करता है, जिसमें क्लस्टरिंग, Sentinel मोड, पाइपलाइनिंग, ट्रांजेक्शन (MULTI/EXEC), Lua स्क्रिप्ट, Pub/Sub और MapReduce जैसी संरचनाएं शामिल हैं। यह लाइब्रेरी सक्रिय रूप से विकसित हो रही है और कई कंपनियों द्वारा प्रोडक्शन में उपयोग की जाती है।

ioredis की स्थापना

npm के माध्यम से इंस्टॉल करें:

npm install ioredis

इंस्टॉल करने के बाद, Redis सर्वर से कनेक्ट करें:

const Redis = require('ioredis');
const redis = new Redis(); // डिफ़ॉल्ट रूप से localhost:6379

ioredis की मुख्य विशेषताएं

  • उपयोग में आसानी — सहज API, Redis कमांड के समान।
  • Promise और async/await सपोर्ट — सभी एसिंक्रोनस ऑपरेशन प्रॉमिस लौटाते हैं।
  • क्लस्टरिंग — क्लस्टर नोड्स के बीच ऑटोमैटिक रिक्वेस्ट डिस्ट्रीब्यूशन।
  • Sentinel — विफलता पर ऑटोमैटिक बैकअप सर्वर पर स्विच करना।
  • पाइपलाइनिंग — परफॉर्मेंस बढ़ाने के लिए एक रिक्वेस्ट में कई कमांड भेजना।
  • Pub/Sub — रियल-टाइम में चैनल सब्सक्राइब करना और मैसेज एक्सचेंज करना।
  • Lua स्क्रिप्ट सपोर्ट — सर्वर साइड पर एटॉमिक ऑपरेशन निष्पादित करना।
  • मॉनिटरिंग और इवेंट — कनेक्शन स्थिति और त्रुटियों पर नज़र रखना।

ioredis के उपयोग के उदाहरण

की-वैल्यू के साथ बेसिक काम

वैल्यू सेट और प्राप्त करने का उदाहरण:

const Redis = require('ioredis');
const redis = new Redis();

async function basicExample() {
    await redis.set('user:1', 'Alice');
    const value = await redis.get('user:1');
    console.log(value); // Alice
}
basicExample();

हैश के साथ काम

हैश एक की के तहत कई फील्ड स्टोर करने की अनुमति देते हैं:

async function hashExample() {
    await redis.hset('user:2', 'name', 'Bob', 'age', 30);
    const name = await redis.hget('user:2', 'name');
    console.log(name); // Bob
}
hashExample();

पाइपलाइनिंग

पाइपलाइनिंग कई कमांड के निष्पादन को काफी तेज़ करती है:

async function pipelineExample() {
    const pipeline = redis.pipeline();
    pipeline.set('key1', 'value1');
    pipeline.set('key2', 'value2');
    pipeline.get('key1');
    const results = await pipeline.exec();
    console.log(results); // परिणामों की सरणी
}
pipelineExample();

Pub/Sub (प्रकाशक-सदस्य)

चैनल सब्सक्राइब करने और मैसेज भेजने का उदाहरण:

const subscriber = new Redis();
const publisher = new Redis();

subscriber.subscribe('news', (err, count) => {
    console.log(`${count} चैनल(चैनलों) पर सब्सक्राइब किया गया`);
});

subscriber.on('message', (channel, message) => {
    console.log(`चैनल ${channel} से मैसेज प्राप्त हुआ: ${message}`);
});

// मैसेज प्रकाशित करना
async function publishMessage() {
    await publisher.publish('news', 'नमस्ते, दुनिया!');
}
publishMessage();

Redis क्लस्टर के साथ काम

क्लस्टर से कनेक्ट करने के लिए Redis.Cluster का उपयोग करें:

const Redis = require('ioredis');

const cluster = new Redis.Cluster([
    { host: '127.0.0.1',                    

अनुशंसाएँ