Düğümde süper basit bir sunucu yapıyorum ve onRequest dinleyicimde Statik bir dosyaya (diskin dışında) veya bazı jsonlara hizmet verip vermemeye karar veriyorum request.url
'daki yola göre (muhtemelen Mongo'dan alınmıştır).Bir dosyanın varlığını kontrol etmenin en hızlı yolu NodeJs
Şu anda önce dosyayı (örneğin, mtime'ı başka bir yerde kullanıyorum) bildirmeye çalışıyorum ve bu başarısız olmazsa, içeriği disketten okurum. Böyle bir şey: request.url.pathname
için fs.stat
sonucunu önbellekleme daha
fs.stat(request.url.pathname, function(err, stat) {
if (!err) {
fs.readFile(request.url.pathname, function(err, contents) {
//serve file
});
}else {
//either pull data from mongo or serve 404 error
}
});
Diğer Bu check-up hızlandırmak bir şey var mı? Örneğin,hatalarının stat
yerine görüp görmediğini görmek hızlı mıdır? Ya da fs.readFile
yerine fs.createReadStream
mu kullanıyorsunuz? Ya da child_process.spawn
'da bir şey kullanarak dosyayı kontrol edebilir miyim? Temelde ben istek için veri göndermek için mongo gönderilmesi gerektiğinde w/fileio herhangi bir zaman harcama emin değilim istiyorum ...
Teşekkürler!
yardımcı olabilir hep ihtiyaçlarına bağlı 'stat' veya' statSync' kullandım (örn ' StatSync 'config), ama teknik olarak 'readfile' yapmak ve bir hata yakalamak için daha hızlı olacağını tahmin ediyorum (hata, JS'de ___very___ ağır olsa da, yanlış olabilir). Genel olarak, “stat” ü kullanmayı tercih etmekteyim, çünkü sadece kasıtlı olarak bir hata atmaktan daha temiz. 'Düğüm 'Windoze sistemlerine bir itme yapıyor ve onu kullanarak herhangi bir kod kırmak için genellikle' child_process 'önlemek. –
@Lite Byte, DeadDEnD tarafından verilen cevabı ciddi olarak kabul etmelisiniz ... –