मैं एक्सप्रेस/जेड में व्यू कैश के साथ कुछ मज़ेदार सामानों में भाग रहा हूं। नियंत्रक मोंगो डीबी से मोंगोस के माध्यम से एक लेख प्राप्त करता है और इसे res.render फ़ंक्शन पर रखता है। हालांकि, कुछ मिनटों के लिए चलने के बाद एक्सप्रेस उस रूट के सभी अनुरोधों के लिए एक ही संकलित टेम्पलेट की सेवा करना शुरू कर देता है। यह साझा करने के लिए भी होता है। जेड शामिल है जो विभिन्न टेम्पलेट्स में उपयोग किया जाता है।एक्सप्रेस व्यू कैश अभिनय मजाकिया
डेटाबेस सही लेख ला रहा है और इससे कोई फर्क नहीं पड़ता कि मैं टेम्पलेट में कुछ यादृच्छिक तारों को पास करता हूं, मुझे हमेशा एक ही आउटपुट मिलता है।
इस नियंत्रक समारोह है:
exports.show = function(req, res) {
var articleId;
articleId = req.params.id;
Article.findOne({
_id: articleId
}).populate('author').exec(function(err, article) {
if (err) {
console.log(err);
} else {
res.render('articles/show', {
article: article,
articleId: article.id
});
}
});
};
और वह मार्ग है:
app.get('/articles/:id', articles.show);
ही बातें होती हैं कि क्या मैं उत्पादन या विकास मोड में चल रहा हूँ।
क्या कोई भी एक्सप्रेस/जेड के साथ इस तरह के टर्बल में चला गया है?
"एक ही संकलित टेम्पलेट" के साथ, क्या आपका मतलब वही * प्रस्तुत * टेम्पलेट है? मुझे यकीन नहीं है कि यह दृश्य कैश है, क्योंकि यह सक्रिय नहीं है जब देव मोड में चलाया जाता है (जब तक कि आप इसे स्पष्ट रूप से सक्षम नहीं करते?)। साथ ही, व्यू कैश केवल संकलित (लेकिन बिना रेंडर किए गए) टेम्पलेट्स स्टोर करता है, फिर भी उन्हें प्रत्येक अनुरोध के लिए अलग से प्रस्तुत किया जाएगा। आपका ऐप सेटअप कैसा दिखता है? कोई अन्य मिडलवेयर (या शायद नोड के सामने एक प्रॉक्सी सर्वर) जो इस मुद्दे का कारण बन सकता है? – robertklep
मैं @robertklep से सहमत हूं। मुझे लगता है कि यह आपकी प्रॉक्सी है जो कैशिंग है। यदि आप कोई कैश हेडर देखते हैं तो क्या आप प्रतिक्रिया के शीर्षलेखों की जांच कर सकते हैं? साथ ही, सर्वर के पक्ष में निम्न शीर्षलेख सेट करने का प्रयास करें। कैश-नियंत्रण: नहीं-कैश, कोई दुकान, होगा दोबारा सत्यापित Pragma: कोई कैश समाप्ति: 0 देखें कि यदि आप के लिए काम करता है http: //stackoverflow.com/questions/49547/making- निश्चित-ए-वेब-पेज-है-कैश-ऑल-ऑल-ब्राउजर –