शायद बहुत से लोग जानते हैं कि एमवीसी क्या है, यदि नहीं, तो विकिपीडिया आपकी मदद करेगा। यह कोई रहस्य नहीं है कि अधिकांश वेब एप्लिकेशन इस अच्छी तरह से स्थापित वास्तुकला का उपयोग करते हैं।
लेकिन यहां मेरा एक सवाल था, जिससे मुझे हब्रप्रोग्रामर्स से जवाब मिलने की उम्मीद है: एमवीसी का उपयोग करते समय कैशिंग के बारे में क्या?
यह स्पष्ट है कि मॉडल में मध्यवर्ती गणनाओं, प्रश्नों (यदि है) को कैश करना संभव है
यह डेटाबेस के साथ सौदा नहीं करता है), कुछ डेटा।
और अंतिम HTML कोड को कैशिंग के लिए कौन से तीन घटक जिम्मेदार होने चाहिए?
कैशिंग का आदर्श मामला एल्गोरिथ्म है:
1. जांचें कि वर्तमान संस्करण कैश में है या नहीं
2. यदि ऐसा है, तो इसे वापस करें
3. यदि नहीं, तो विभिन्न स्रोतों से डेटा प्राप्त करें
4. प्रक्रिया डेटा
5. कैश फ़ाइल (या अन्य डेटा स्टोर) के लिए HTML बनाएं और लिखें
6. अंतिम HTML कोड लौटाएं
आइए कुछ उदाहरण देखें:
1. यदि कैशिंग लागू करता है प्रस्तुति, तो ब्राउज़र को कैश्ड कोड दिया जाता है, लेकिन मॉडल अभी भी इसे पूरा करता है क्योंकि यह इसके बारे में कुछ नहीं जानता है।
2. यदि मॉडल में कैशिंग होता है, तो भ्रम प्राप्त होता है, क्योंकि मॉडल को मूर्तिकला डेटा की एक सरणी बोलते हुए लौटना चाहिए, और html-code का एक टुकड़ा नहीं।
3. और नियंत्रक, अपनी भूमिका के आधार पर, ऐसा बिल्कुल नहीं करना चाहिए ...
पूरे पृष्ठ को संपूर्ण रूप से कैशिंग करना किसी भी सिस्टम कोर आर्किटेक्चर के साथ बहुत सरल है, लेकिन आजकल बहुत कम साइटें हैं जहां पृष्ठों में सभी प्रकार के डायनेमिक ब्लॉक (पोल, बैनर सिस्टम (रोटेशन के साथ), मुखबिर नहीं होते हैं, और यहां तक कि जीवन प्राधिकरण को मुश्किल बना देता है जब कोड पहले से ही अद्वितीय है। प्रत्येक उपयोगकर्ता के लिए)।
MVC फ्रेमवर्क में पेज ब्लॉक का अंतिम कोड कैसे बनाया जाए, और मॉडल में, डेटा को इस ब्लॉक के लिए नमूना और संसाधित नहीं किया गया था, लेकिन बाकी के लिए, निश्चित रूप से, यह प्रदर्शन किया गया था?
UPD: मुख्य समस्या असामान्य कैशिंग पथ खोजने की आवश्यकता है। यह इस तथ्य के कारण है कि एक तैयार वेबसाइट (एक बड़ा क्षेत्रीय पोर्टल) है, जिसका कोड फिर से लिखना (कई कारणों से) पूरी तरह से असंभव है। कैशिंग की संभावना को तैयार कार्यक्षमता पर लटका देना आवश्यक है। अगर एमवीसी के लिए नहीं, तो मैं इसे थोड़े समय में पूरा कर लेता। इसलिए, प्रश्न एमवीसी वास्तुकला के साथ कैशिंग के कार्यान्वयन में भाग गया।
मुझे आपकी सलाह का इंतजार है!