એપ્લિકેશનની સ્થિરતા અને કાર્યક્ષમતાને સુનિશ્ચિત કરવા માટે 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
ઉપરોક્ત રૂપરેખાંકન એ સેટ કરે છે Redis Sentinel જે Redis 5000ms ના ડાઉન-આફ્ટર-મિલિસેકન્ડ્સ થ્રેશોલ્ડ સાથે, 10000ms ના ફેલઓવર-ટાઇમઆઉટ અને 1 સમાંતર સમન્વયન સાથે માસ્ટરનું નિરીક્ષણ કરે છે.
આ પગલાંઓ અને ઉદાહરણોને અનુસરીને, તમે તમારી એપ્લિકેશનની વિશ્વસનીયતા અને પ્રદર્શનને સુનિશ્ચિત કરીને, એપ્લિકેશનમાં Redis કામ કરતી વખતે અસરકારક રીતે મુશ્કેલીનિવારણ અને ભૂલોને નિયંત્રિત કરી શકો છો. NodeJS