node-cache क्या है?
node-cache Node.js एप्लिकेशन में डेटा कैशिंग के लिए एक हल्की-फुल्की लाइब्रेरी है। यह in-memory store (रैम में स्टोरेज) के रूप में काम करती है, जिससे गणना के परिणामों, API से प्रतिक्रियाओं या डेटाबेस से डेटा को अस्थायी रूप से सहेजा जा सकता है, ताकि भारी ऑपरेशनों को बार-बार न करना पड़े।
JavaScript में कैशिंग की आवश्यकता क्यों है?
प्रदर्शन के लिए कैशिंग बेहद महत्वपूर्ण है। इसके बिना, सर्वर पर प्रत्येक अनुरोध बाहरी सेवाओं के बार-बार कॉल, डेटाबेस क्वेरी या जटिल गणनाओं का कारण बन सकता है। node-cache डेटा को एक निर्धारित समय (TTL) के साथ मेमोरी में स्टोर करके इस समस्या को हल करता है। यह सर्वर पर लोड कम करता है और बार-बार अनुरोधित डेटा के लिए प्रतिक्रिया समय को 2–5 गुना तक कम कर देता है।
इंस्टॉलेशन
लाइब्रेरी को इंस्टॉल करने के लिए अपने प्रोजेक्ट की रूट डायरेक्टरी में यह कमांड चलाएं:
npm install node-cacheइंस्टॉलेशन के बाद, कोड में मॉड्यूल को शामिल करें:
const NodeCache = require('node-cache');मुख्य फ़ंक्शन
- set(key, value, [ttl]) — वैकल्पिक समय (सेकंड में) के साथ कुंजी द्वारा मान सहेजता है।
- get(key) — सहेजा गया मान लौटाता है, या यदि कुंजी नहीं मिलती या समय समाप्त हो गया है तो undefined लौटाता है।
- has(key) — कुंजी के अस्तित्व की जाँच करता है (true/false लौटाता है)।
- del(key) — एक या अधिक कुंजियों को हटाता है।
- flushAll() — पूरे कैश को साफ़ करता है।
- keys() — सभी सक्रिय कुंजियों की एक सूची लौटाता है।
- getStats() — आँकड़े: hits, misses, keys, ksize और vsize।
Node.js पर कोड उदाहरण
const NodeCache = require('node-cache');const myCache = new NodeCache({ stdTTL: 600, checkperiod: 120 });
// डेटा सहेजेंmyCache.set('user_123', { name: 'Alice', role: 'admin' }, 300);
// निकालेंconst user = myCache.get('user_123');if (user === undefined) { console.log('कैश खाली है, डेटाबेस से अनुरोध कर रहे हैं');} else { console.log('कैश से डेटा:', user);}
// आँकड़ेconsole.log(myCache.getStats());// { hits: 1, misses: 0, keys: 1, ksize: 8, vsize: 32 }node-cache का उपयोग कब करें?
यह लाइब्रेरी इसके लिए आदर्श है:
- API प्रतिक्रियाओं को कैश करना — बाहरी सेवाओं (जैसे मौसम, मुद्रा दरें) के बार-बार अनुरोधों से बचें।
- भारी गणनाओं के परिणाम — डेटा प्रोसेसिंग के परिणाम को 5–10 मिनट के लिए सहेजें।
- सत्र डेटा — टोकन या उपयोगकर्ता सेटिंग्स का अस्थायी भंडारण।
- माइक्रोसर्विसेज के बीच मध्यवर्ती कैश — नेटवर्क कॉल को कम करना।
महत्वपूर्ण: node-cache वितरित सिस्टम के लिए उपयुक्त नहीं है (यह केवल एक प्रक्रिया की मेमोरी में काम करता है)। वितरित कैश के लिए Redis या Memcached का उपयोग करें।
निष्कर्ष
node-cache Node.js में in-memory कैशिंग के लिए एक न्यूनतम और विश्वसनीय समाधान है। इसे बाहरी सेवाओं को कॉन्फ़िगर करने की आवश्यकता नहीं है, यह आसानी से एकीकृत होता है और एप्लिकेशन को काफी तेज़ बनाता है। कोड की कुछ पंक्तियाँ जोड़कर आज ही इसका उपयोग शुरू करें।
```पुस्तकालय में भी
Swagger/OpenAPI जनरेशन Java के लिए: सर्वश्रेष्ठ लाइब्रेरीज़
Playwright JavaScript (Node.js): पूर्ण गाइड उदाहरण सहित
Kotlin में क्रिप्टोग्राफी: उदाहरणों के साथ एन्क्रिप्शन और हैशिंग
PHP में डेटा सत्यापन: उपकरणों और पुस्तकालयों के लिए पूर्ण गाइड
जावास्क्रिप्ट (Node.js) एप्लिकेशन कॉन्फ़िगरेशन: dotenv, convict, nconf लाइब्रेरीज़