caching - सिस्टम। वेब। कैशिंग बनाम एंटरप्राइज़ लाइब्रेरी कैशिंग ब्लॉक




.net-2.0 memcached (3)

एक .NET घटक के लिए जो दोनों वेब अनुप्रयोगों और समृद्ध क्लाइंट अनुप्रयोगों में उपयोग किया जाएगा, कैशिंग के लिए दो स्पष्ट विकल्प प्रतीत होते हैं: System.Web.Caching या Ent। लिब। कैशिंग ब्लॉक।

  • तुम क्या इस्तेमाल करते हो?
  • क्यूं कर?

System.Web.Caching

क्या यह वेब ऐप्स के बाहर उपयोग करना सुरक्षित है? मैंने मिश्रित जानकारी देखी है, लेकिन मुझे लगता है कि उत्तर शायद-तरह-वास्तव में नहीं है।

मैं इसकी एक हाइलाइट्स, SqlCacheDependency का उपयोग करने की अपेक्षा नहीं करता SqlCacheDependency , लेकिन .NET 3.5 में CacheItemUpdateCallback के अतिरिक्त एक CacheItemUpdateCallback अच्छी बात की तरह लगता है।

एंटरप्राइज़ लाइब्रेरी कैशिंग एप्लिकेशन ब्लॉक

  • अन्य ब्लॉक पहले से ही उपयोग में हैं इसलिए निर्भरता पहले से मौजूद है
  • कैश दृढ़ता जरूरी नहीं है; पुनरारंभ पर कैश को पुन: उत्पन्न करना ठीक है

कुछ कैश आइटम हमेशा उपलब्ध होना चाहिए, लेकिन समय-समय पर ताज़ा किया जाना चाहिए। इन वस्तुओं के लिए, किसी आइटम को हटा दिए जाने के बाद कॉलबैक प्राप्त करना बहुत सुविधाजनक नहीं है। ऐसा लगता है कि एक ग्राहक को केवल सोना और मतदान करना होगा जब तक कि कैश आइटम को दोबारा नहीं बनाया जाता है।

Win32 + .NET क्लाइंट के लिए Memcached

जब आपको वितरित कैश की आवश्यकता नहीं होती है तो पेशेवर और विपक्ष क्या होते हैं?


@ डेविड वोस्ती

"अगर वे इसे वेब नेमस्पेस में डाल देते हैं, तो मुझे लगता है कि यह एक अच्छे कारण के लिए है।" क्या वही तर्क रोबोट स्टूडियो में कंसुरेंसी और समन्वय रनटाइम (सीसीआर) पर लागू होता है? नहीं? ऐसा नहीं सोचा था।


ध्यान रखें कि EntLib दस्तावेज़ विशेष रूप से आपको ASP.NET अनुप्रयोगों के लिए ASP.NET कैश की ओर ले जाता है। यह शायद यहां इसका उपयोग करने की दिशा में सबसे मजबूत सिफारिश है। इसके अलावा एंटीलिब कैश में निर्भरता नहीं है, जो मेरे लिए इसका उपयोग करने का एक बड़ा कारण नहीं है।

मुझे नहीं लगता कि आपके ऐप के हिस्से के रूप में शिपिंग सिस्टम.Web पर एक तकनीकी सीमा है, हालांकि यह थोड़ा अजीब बात है कि उन्होंने नोटिस को 3.5ET पृष्ठ पर रखा है। हंसेलमैन वास्तव में कहता है कि उसने इस धारणा से बाहर निकल जाना शुरू कर दिया, लेकिन आश्वस्त हो गया। अगर आप टिप्पणियां पढ़ते हैं, तो वह कहता है कि ब्लॉक में बहुत से चलने वाले हिस्से हैं और एएसपी.नेट कैश बहुत अधिक हल्का है।
मुझे लगता है कि यह वास्तव में ऐसी समस्या है जो http://blogs.msdn.com/velocity/ हल करने जा रहा है, लेकिन यह अभी के लिए एक पूर्वावलोकन है :-(

मैं वेब का उपयोग कहूंगा। कैचिंग और देखें कि आप कैसे चलते हैं। यदि आप इसके शीर्ष पर किसी प्रकार की अमूर्त परत डालते हैं, तो आपको हमेशा समस्याएं मिलने पर एंटीलिब ब्लॉक के लिए इसे स्वैप करने का विकल्प मिल गया है।


memcached पर एक नज़र डालें। यह वास्तव में एक अच्छा, तेज और हल्के वितरित कैशिंग सिस्टम है। सी # सहित कई सबसे लोकप्रिय भाषाओं के लिए एपीआई हैं। यह क्लाइंट पक्ष पर अच्छी तरह से सेवा नहीं कर सकता है (जब तक कि क्लाइंट किसी प्रकार के सर्वर से कैश किए गए डेटा को प्राप्त नहीं कर लेता), लेकिन यदि आप किसी विशिष्ट इंटरफ़ेस पर memcached का उपयोग करते हैं, तो आप इंटरफ़ेस को किसी अन्य कैशिंग के साथ कार्यान्वित कर सकते हैं प्रणाली।





enterprise-library