समस्या निवारण र एप्लिकेसनमा त्रुटिहरू ह्यान्डलिंग NodeJS गर्दा एकीकरण गर्दा Redis अनुप्रयोगको स्थिरता र दक्षता सुनिश्चित गर्न आवश्यक प्रक्रिया हो।
तल केहि विवरणहरू र उदाहरणहरू छन् कि कसरी समस्या निवारण र त्रुटि ह्यान्डलिङ कार्य गर्ने बारे एप्लिकेसनमा काम Redis गर्दा NodeJS ।
हेर्नुहोस् Redis log
Redis महत्त्वपूर्ण घटनाहरू, चेतावनीहरू, र त्रुटिहरू रेकर्ड गर्न लगहरू प्रदान गर्दछ। यी लगहरू समस्या निवारणका लागि उपयोगी हुन सक्छन् Redis । लग इन सक्षम गर्न, तपाईंले कन्फिगरेसन फाइल परिमार्जन गर्न र उपयुक्त लगिङ स्तर सेट गर्न Redis आवश्यक छ । redis.conf
यहाँ फाइलमा लगिङ सक्षम गर्ने एउटा उदाहरण छ:
# In redis.conf
logfile /var/log/redis/redis.log
loglevel verbose
सुनिश्चित गर्नुहोस् कि log फाइल डाइरेक्टरी अवस्थित छ र प्रक्रिया द्वारा लेख्न योग्य छ Redis ।
प्रयोग गर्नुहोस् Redis Monitor
Redis Monitor एक निर्मित आदेश हो जसले तपाईंलाई Redis सर्भरमा कार्यान्वयन गरिएका वास्तविक-समय आदेशहरू निगरानी गर्न अनुमति दिन्छ। मा पठाइएका वास्तविक आदेशहरू बुझ्नको लागि यो उपयोगी छ Redis ।
Redis Monitor यहाँ एउटा अनुप्रयोगमा "ioredis" पुस्तकालय प्रयोग गर्ने एउटा उदाहरण छ NodeJS:
const Redis = require('ioredis');
const redis = new Redis();
redis.monitor((err, monitor) => {
console.log('Started monitoring Redis commands');
monitor.on('monitor',(time, args, source, database) => {
console.log('Command:', args);
});
});
यो कोडले एक मनिटर सेट अप गर्दछ Redis जसले Redis सर्भर द्वारा वास्तविक-समयमा प्राप्त प्रत्येक आदेश प्रिन्ट गर्दछ।
एसिन्क्रोनस त्रुटिहरू ह्यान्डल गर्नुहोस्
Redis एप्लिकेसनमा काम गर्दा NodeJS, धेरै Redis अपरेसनहरू एसिन्क्रोनस हुन्छन्, जसको अर्थ तिनीहरू प्रयोग गर्छन् callback
वा Promises
।
एप्लिकेसन क्र्यासबाट बच्नको लागि त्रुटिहरू ठीकसँग ह्यान्डल गर्नु महत्त्वपूर्ण छ। यहाँ त्रुटिहरू ह्यान्डल गर्ने एउटा उदाहरण हो callback
:
const Redis = require('ioredis');
const redis = new Redis();
redis.get('key',(err, result) => {
if(err) {
console.error('Error:', err);
return;
}
console.log('Result:', result);
});
र async/await
यसको साथ प्रयोग गर्दै Promises
:
const Redis = require('ioredis');
const redis = new Redis();
async function getValue() {
try {
const result = await redis.get('key');
console.log('Result:', result);
} catch(err) {
console.error('Error:', err);
}
}
getValue();
Redis जडानहरू प्रबन्ध गर्नुहोस्
जडानहरू व्यवस्थापन गर्न, ग्राहक पुस्तकालयद्वारा Redis प्रदान गरिएको जडान पूल प्रयोग गर्न सिफारिस गरिन्छ । Redis उदाहरण को लागी, "ioredis" संग:
const Redis = require('ioredis');
const redis = new Redis({
// connection options here
});
ग्राहकले स्वचालित रूपमा जडानहरू व्यवस्थापन गर्नेछ र तिनीहरूलाई कुशलतापूर्वक पुन: प्रयोग गर्नेछ।
Redis अनुपलब्ध हुँदा केसहरू ह्यान्डल गर्नुहोस्
Redis अनुपलब्ध हुँदा वा बिस्तारै प्रतिक्रिया दिँदा केसहरू ह्यान्डल गर्न, उपयुक्त टाइमआउटहरू सेट गर्ने र जडान त्रुटिहरूलाई राम्रोसँग ह्यान्डल गर्ने विचार गर्नुहोस्।
const Redis = require('ioredis');
const redis = new Redis({
retryStrategy:(times) => {
return Math.min(times * 50, 2000); // Retry with exponential backoff up to 2 seconds
},
});
प्रयोग गर्नुहोस् Redis Sentinel
Redis Sentinel Redis क्लस्टरहरूको लागि उच्च उपलब्धता र निगरानी प्रदान गर्दछ । मास्टर नोड अनुपलब्ध हुँदा यसले स्वचालित रूपमा विफलताहरू ह्यान्डल गर्दछ।
यहाँ एउटा उदाहरण कन्फिगरेसन छ:
sentinel monitor mymaster 127.0.0.1 6379 2
sentinel down-after-milliseconds mymaster 5000
sentinel failover-timeout my
माथिको कन्फिगरेसनले 5000ms को डाउन-अफ्टर-मिलिसकेन्ड थ्रेसहोल्ड, 10000ms को फेलओभर-टाइमआउट, र 1 समानान्तर सिङ्कको साथ मास्टरलाई Redis Sentinel निगरानी गर्ने सेट अप गर्दछ। Redis
यी चरणहरू र उदाहरणहरू पछ्याएर, तपाइँले तपाइँको एप्लिकेसनको विश्वसनीयता र कार्यसम्पादन सुनिश्चित गर्दै, एप्लिकेसनमा Redis काम गर्दा त्रुटिहरूलाई प्रभावकारी रूपमा समस्या निवारण र ह्यान्डल गर्न सक्नुहुन्छ । NodeJS