Nangani Kasalahan lan Ngatasi Masalah Redis ing Node.js

Ngatasi masalah lan nangani kesalahan ing NodeJS aplikasi nalika nggabungake Redis minangka proses penting kanggo njamin stabilitas lan efisiensi aplikasi kasebut.

Ing ngisor iki ana sawetara rincian lan conto babagan carane ngatasi masalah lan nangani kesalahan nalika nggarap Redis aplikasi NodeJS.

Ndeleng Redis log

Redis menehi log kanggo ngrekam acara penting, bebaya, lan kasalahan. Log iki bisa migunani kanggo ngatasi masalah karo Redis. Kanggo ngaktifake mlebu log Redis, sampeyan kudu ngowahi redis.conf file konfigurasi lan nyetel tingkat log sing cocog.

Punika conto ngaktifake logging menyang file:

# In redis.conf  
logfile /var/log/redis/redis.log  
loglevel verbose  

Priksa manawa log direktori file ana lan bisa ditulis kanthi Redis proses kasebut.

Gunakake Redis Monitor

Redis Monitor iku printah dibangun ing sing ngijini sampeyan kanggo ngawasi Redis printah nyata-wektu kaleksanan ing server. Iku migunani kanggo mangerteni printah nyata sing dikirim menyang Redis.

Mangkene conto nggunakake Redis Monitor perpustakaan "ioredis" ing NodeJS aplikasi:

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);  
  });  
});  

Kode iki nyetel Redis monitor sing nyithak saben Redis printah sing ditampa dening server ing wektu nyata.

Nangani kesalahan bedo

Nalika nggarap Redis aplikasi NodeJS, akeh Redis operasi sing ora sinkron, tegese nggunakake callback utawa Promises.

Nangani kesalahan sing bener penting kanggo ngindhari kacilakan aplikasi. Mangkene conto nangani kesalahan karo 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);  
});  

Lan nggunakake async/await karo 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();  

Ngatur Redis sambungan

Kanggo ngatur Redis sambungan, disaranake nggunakake blumbang sambungan sing diwenehake dening Redis perpustakaan klien. Contone, karo "ioredis":

const Redis = require('ioredis');  
const redis = new Redis({  
  // connection options here  
});  

Klien bakal ngatur sambungan kanthi otomatis lan nggunakake maneh kanthi efisien.

Nangani kasus nalika Redis ora kasedhiya

Kanggo nangani kasus nalika Redis ora kasedhiya utawa nanggapi alon-alon, coba nyetel wektu entek sing cocog lan nangani kesalahan sambungan kanthi apik.

const Redis = require('ioredis');  
const redis = new Redis({  
  retryStrategy:(times) => {  
    return Math.min(times * 50, 2000); // Retry with exponential backoff up to 2 seconds  
  },  
});  

Gunakake Redis Sentinel

Redis Sentinel nyedhiyakake kasedhiyan lan ngawasi dhuwur kanggo Redis kluster. Kanthi otomatis nangani failover nalika simpul master ora kasedhiya.

Punika conto konfigurasi:

sentinel monitor mymaster 127.0.0.1 6379 2  
sentinel down-after-milliseconds mymaster 5000  
sentinel failover-timeout my  

Konfigurasi ing ndhuwur nyiyapake Redis Sentinel sing ngawasi Redis master kanthi ambang mudhun sawise milidetik 5000ms, wektu entek failover 10000ms, lan 1 sinkronisasi paralel.

 

Kanthi tindakake langkah lan conto iki, sampeyan bisa kanthi efektif ngatasi masalah lan ngatasi kesalahan nalika nggarap Redis aplikasi NodeJS, njamin linuwih lan kinerja aplikasi sampeyan.