.NET Framework 4.0 MemoryCache
बनाम ObjectCache
के बीच क्या अंतर है? कहां उपयोग करें?.NET 4.0 में MemoryCache बनाम ऑब्जेक्ट कैश के बीच क्या अंतर है?
उत्तर
ऑब्जेक्ट कैश एक अमूर्त वर्ग है जो दर्शाता है कि आपको कैश बनाना चाहिए जो ऑब्जेक्ट कैश लिखने वाले व्यक्ति के नियमों का पालन करता है। आप ऑब्जेक्ट कैश को तुरंत चालू नहीं कर सकते क्योंकि यह abstract है।
मेमोरी कैश ऑब्जेक्ट कैश के वास्तविक कार्यान्वयन है।
प्रलेखन से:
एक वस्तु कैश का प्रतिनिधित्व करता है और आधार के तरीकों और वस्तु कैश तक पहुँचने के लिए गुण प्रदान करता है।
प्रकार है कि एक में स्मृति कैश को लागू करता है प्रतिनिधित्व करता है।
MemoryCache के लिए घोषणा को देखते हुए:
public class MemoryCache : ObjectCache,
IEnumerable, IDisposable
हम देख सकते हैं कि MemoryCache ObjectCache से विरासत - जो है, वह अपने भंडारण के रूप में स्मृति का उपयोग करता है वस्तुओं के लिए एक कैश है - यह इसलिए एक कार्यान्वयन है ऑब्जेक्ट कैश के।
आप अपना खुद का लिख सकते हैं; उदाहरण के लिए, डेटाबेस कैश, जो ऑब्जेक्ट कैश से भी प्राप्त हो सकता है लेकिन इसके बजाय यह डेटाबेस को बैकिंग स्टोरेज के रूप में उपयोग करेगा।
रोजमर्रा के उपयोग के लिए, बशर्ते यह आपकी ज़रूरतों को पूरा करे, आप मेमोरी कैश का उपयोग और उपभोग करेंगे। यदि आप अपना खुद लिखना चाहते हैं, तो आप ऑब्जेक्ट कैश से प्राप्त कर सकते हैं और आवश्यक विधियों और गुणों को लागू कर सकते हैं। हालांकि, हकीकत में, ऐसा करने के लिए शायद थोड़ा व्यावहारिक लाभ है क्योंकि माइक्रोसॉफ्ट पहले से ही कई अन्य कैशिंग समाधान उपलब्ध कराता है, जैसा कि कई अन्य विक्रेता करते हैं।
अपना खुद का निर्माण करने के लिए, [एमएसडीएन पर कस्टम कैश क्लास बनाना] देखें (https://msdn.microsoft.com/en-us/library/ff919782.aspx#Anchor_5) – Stacked
ObjectCache
एक सार वर्ग है, आप इसे प्रति 'उपयोग' नहीं कर सकते हैं। जैसा कि डैश ने अपनी टिप्पणी में कहा है, यह दिखाने के लिए डिज़ाइन किया गया है कि कैश कैसे बनाया जाना चाहिए और यह किस प्रकार का संचालन करता है। MemoryCache
ObjectCache
का कार्यान्वयन है और आपके प्रश्न से आपको यह उपयोग करना चाहिए कि आपको क्या उपयोग करना चाहिए। हालांकि, ObjectCache
अमूर्त है, इसलिए आप आसानी से FileCache
ObjectCache
से विरासत में लिख सकते हैं और यह पूरी तरह से मान्य होगा।
MSDN
से;
ऑब्जेक्ट कैश प्रकार इन-मेमोरी ऑब्जेक्ट कैश के लिए प्राथमिक प्रकार है। अंतर्निहित मेमोरी कैश क्लास ऑब्जेक्ट कैश कक्षा से निकला है। मेमोरी कैश क्लास एकमात्र ठोस ऑब्जेक्ट कैश .NET Framework 4 में कार्यान्वयन है जो ऑब्जेक्ट कैश क्लास से प्राप्त होता है।
ObjectCache
से
public class MemoryCache : ObjectCache,
IEnumerable, IDisposable
MemoryCache
इनहेरिट करती है।
आप इस तरह के डिफ़ॉल्ट MemoryCache
उदाहरण का संदर्भ प्राप्त कर सकते हैं;
public static ObjectCache cache = MemoryCache.Default;
MemoryCache ObjectCache के ठोस कार्यान्वयन है। एक डिजाइन बिंदु से, ऑब्जेक्ट कैश सार है और यह दर्शाता है कि कैसे कैश बनाया जाना चाहिए। मेमोरी कैश इसका वास्तविक कार्यान्वयन है। – dash