2010-02-25 13 views
5

मैं एएसपी.नेट एमवीसी के साथ कैशिंग में देख रहा हूं और मैं भी वेब होस्ट को अंतिम रूप देने के बीच में हूं। मेरे पास दो प्रश्न हैं ...asp.net mvc - कैशिंग

1) क्या साझा होस्टिंग वातावरण पर किए जाने पर कैशिंग पॉज़ समस्या उत्पन्न होती है क्योंकि संसाधन साझा किए जाते हैं और सब कुछ? यह सवाल मूर्खतापूर्ण लग सकता है, लेकिन मुझे नहीं पता कि दृश्य के पीछे कैशिंग कैसे काम करती है।

2) कैशिंग लागू करने से पहले, मैं पूछना चाहता हूं कि यह दृष्टिकोण समझ में आता है या नहीं। मैं जितना संभव हो कैश कर दूंगा, और आवश्यकता होने पर इसे अमान्य कर दूंगा। हालांकि, कैशिंग कैसे उस आइटम की सूची के लिए काम करती है जो बहुत बार अपडेट हो जाती है, एक मिनट या कुछ में कहें। उदाहरण के लिए, स्टैक ओवरव्लो का अगला पृष्ठ, हर मिनट में इतने सारे प्रश्न जोड़े जा रहे हैं, क्या फ्रंट पेज वास्तव में कैश किया जा सकता है?

संपादित करें: 3) मैं यह भी चर्चा करना चाहूंगा कि कैसे कैशिंग पिंगिंग और सभी के साथ काम करता है।

+0

आपको उन वस्तुओं को वर्गीकृत करना है जिन्हें आप कैश करना चाहते हैं। जो चीजें अक्सर अद्यतन होती हैं वह कैश होने की अच्छी बात नहीं है। ** स्टैकओवरफ्लो ** के परिदृश्य में मैं इसे कैश-सक्षम नहीं कर पाऊंगा। जब साइट लॉग इन करते हैं, तो साइट की विस्तृत सेटिंग उपयोगकर्ता खाते की जानकारी जैसी चीजें, इन चीजों को कैश किया जा सकता है। इसके अलावा, यदि आप किसी तीसरे पक्ष के कैश सॉफ़्टवेयर का उपयोग कर सकते हैं तो यह ** memcached ** जैसा सबसे अच्छा होगा। –

+0

तो आप एएसपी.NET कैशिंग से memcached बेहतर है मतलब है? – TPR

+0

यह उतना आसान या बुरा नहीं जितना आसान है। यदि निर्मित कैशिंग में आपको जो चाहिए वह करता है तो आप बेहतर काम नहीं करेंगे ... आपको क्या करना चाहिए, हालांकि, कैश के चारों ओर अपना खुद का रैपर (इंटरफ़ेस के रूप में) डाला गया है - इस तरह यह बदलना आसान होगा अंतर्निहित कार्यान्वयन की आपको आवश्यकता होनी चाहिए। – Murph

उत्तर

1

मुझे लगता है कि एक मिनट लंबा है यदि आप 200 अनुरोधों की सेवा कर रहे हैं और मैंने सोचा होगा कि SO फ्रंट पेज के लिए एएसपीनेट आउटपुट कैशिंग का उपयोग करता है। गैर-उपयोगकर्ता विशिष्ट भागों को कैश करने के लिए वे शायद donut caching के किसी भी प्रकार का उपयोग करेंगे।

Asp.net एमवीसी मानक एएसपी.नेट कैशिंग प्रदाता का अपरिवर्तित उपयोग करता है। एक साझा होस्ट कैशिंग को सही ढंग से काम करना चाहिए, हालांकि पता होना चाहिए कि मेजबान मशीन स्तर पर चुनने पर होस्ट कैश सेटिंग्स को लॉक कर सकता है। कैश प्रदाता मेमोरी प्रबंधन से संबंधित है और यदि मेमोरी उपयोग बहुत अधिक हो जाता है तो कैश से आइटम हटा देगा। मेरा सुझाव है कि आप here कैशिंग पर एमएसडीएन पेज पढ़ें।

जटिलता एक क्लस्टर वातावरण से आता है जो इतना साझा होस्ट नहीं है। क्लस्टर्ड वातावरण पर कैश सभी मशीनों को वितरित नहीं किया जाता है, इसलिए प्रत्येक मशीन में कैश की एक अलग प्रति होती है। यदि यह एक समस्या पैदा करता है तो आपको एक वितरित कैशिंग समाधान की जांच करने की आवश्यकता होगी, लेकिन सबसे सरल मामलों में यह ठीक है।

पेजिंग के संबंध में, एएसपीनेट की आउटपुट कैशिंग सुविधा आपको अलग-अलग क्वेरी स्ट्रिंग की अनुमति देती है, इसलिए यदि आपके पास www.url.com?page=1 है तो यह कैश में www.url से अलग से संग्रहीत किया जाएगा .com? page = 2।