NodeJS ile performansı optimize etmek, Redis verimli ve yüksek performanslı uygulamalar oluşturmanın önemli bir parçasıdır. Yapabileceğiniz en iyi uygulamalardan bazıları şunlardır:
Optimize Edilmiş Kitaplığı Kullan Redis(ioredis)
Geleneksel " " kitaplığı kullanmak yerine redis, optimize edilmiş özelliklerinden ve daha iyi performanstan yararlanmak için "ioredis"i kullanın.
const Redis = require('ioredis');
const client = new Redis();
// Perform a Redis request using ioredis
client.set('key1', 'value1').then(() => {
return client.get('key1');
}).then((result) => {
console.log('Result:', result); // Output: "Result: value1"
}).catch((error) => {
console.error('Error:', error);
});
Kullanmak Pipelining
Pipelining Redis her istekten yanıt beklemeden aynı anda birden çok istek göndermeye izin verir, ağ gecikmesini azaltır ve performansı artırır.
const Redis = require('ioredis');
const client = new Redis();
// Use pipelining to send multiple requests at once
const pipeline = client.pipeline();
pipeline.set('key1', 'value1');
pipeline.get('key2');
pipeline.exec((err, results) => {
console.log('Results:', results);
// Output: Array of values corresponding to each request
});
Verimli Veri Yapıları Kullanın
Redis Verileri verimli bir şekilde depolamak ve sorgulamak için karma, set ve sıralanmış set gibi uygun veri yapılarını kullanın .
const Redis = require('ioredis');
const client = new Redis();
// Use Hash in Redis to store user information
client.hmset('user:1', {
'name': 'John Doe',
'age': 30,
'email': '[email protected]'
});
Cache Veri
Redis Geçici verileri depolamak için önbelleğe alma mekanizması olarak kullanın, sorgu süresini azaltın ve uygulama performansını artırın.
const Redis = require('ioredis');
const client = new Redis();
// Check if data is present in Redis Cache
client.get('cached_data',(err, reply) => {
if(reply) {
// If present in Cache, use data from Cache
console.log('Data from Cache:', reply);
} else {
// If not in Cache, query data from the primary source
// Then store it in Cache for future use
console.log('Data from Source:', data);
client.set('cached_data', data);
}
});
Eşzamansız İşleme Kullan
İşlemleri gerçekleştirirken uygulamanızın ana iş parçacığını engellemekten kaçınmak için eşzamansız işlemeyi kullanın Redis, uygulamanızın birden çok isteği aynı anda işlemesine ve performansı artırmasına izin verin.
const Redis = require('ioredis');
const client = new Redis();
// Asynchronous processing using async/await
async function getAsyncData(key) {
try {
const data = await client.get(key);
console.log('Data:', data);
} catch(err) {
console.error('Error:', err);
}
}
getAsyncData('key1');
Bağlantı Sayısını Sınırla
Redis Sunucunun aşırı yüklenmesini önlemek için bağlantı sayısını sınırlayın. Bağlantıları verimli bir şekilde yönetmek için havuzlamayı kullanın Redis.
düşünün Redis Clustering ve Replication
Uygulamanız ölçeklenebilirlik ve güvenilirlik gerektiriyorsa, yükü dağıtmak ve yüksek kullanılabilirlik sağlamak için Redis Clustering ve kullanmayı düşünün. Replication
Performansı İzleyin ve Sürekli Optimize Edin
Performans sorunlarını tespit etmek ve ele almak için performans izleme araçlarını kullanın. ile verimli çalışmayı sağlamak için kodunuzu sürekli olarak optimize edin Redis.
Redis En İyi Uygulamaları Uygula
Redis Süresi dolmuş verileri otomatik olarak silmek için Expiry kullanma, veri parçalama için Hash etiketlerini kullanma ve Redis Cluster.