0
我想知道是否是一個好主意(性能明智)將查詢結果存儲在變量中,並每隔幾分鐘更新一次,因爲我在我的多個數據庫查詢(MongoDB)節點應用程序不需要是最新的,其中一些應用程序有點複雜。使用變量作爲緩存查詢結果在NodeJS
我想是這樣的:
var queryResults = [];
myModel.find().exec(function(err, results) {
queryResults = results;
});
然後:
var interval = 10 * 60 * 1000;
setInterval(function() {
myModel.find().exec(function(err, results) {
queryResults = results;
});
}, interval);
當我需要將查詢結果發送到我的看法引擎:
app.get('/', function(req, res) {
res.render('index.ejs', {entries : queryResults});
});
這是緩存並向多個客戶端顯示相同查詢結果的好方法嗎?
你知道這個包比直接使用變量好嗎? – Grobeu
該模塊也將這些值存儲在內存中,因此從這個角度來看沒有區別。如果你檢查源代碼,理解它在做什麼很容易。使用這個你將避免創建你的緩存層。 –