हालांकि यह प्रश्न मुख्य रूप से एश कैश से संबंधित है, लेकिन यह वास्तव में कैशिंग फ्रेमवर्क (और सादे पुराने कैशिंग) पर लागू होता है।सिंगलटन या इंस्टेंस कैश?
ehcache आप अपने आवेदन में Caches
के सभी प्रबंधन के लिए एक सिंगलटन CacheManager
बनाने की अनुमति देता है, या यह आप "उदाहरण" CacheManager
, बनाने के लिए जिसका अर्थ है कि वास्तव में क्या यह की तरह लगता है की अनुमति देता है: आपके आवेदन भर में प्रयोग में एक से अधिक प्रबंधक।
प्रत्येक के पेशेवर/विपक्ष क्या हैं? पहली झलक में ऐसा लगता है कि यह एक सिंगलटन प्रबंधक होने के लिए क्लीनर होगा।
एकमात्र कल्पना करने योग्य कारण मैं सोच सकता हूं कि क्यों एक व्यक्ति एकाधिक उदाहरण प्रबंधक चाहता है यह तथ्य है कि CacheManager
के अंदर रहने वाले सभी कैशों को समान कॉन्फ़िगरेशन साझा करना होगा: समान आकार, उपयोग रणनीतियों, क्षमताओं, आदि। तो यदि आप चाहते थे एकाधिक कैश, प्रत्येक अलग-अलग कॉन्फ़िगर किए गए, सिंगलटन CacheManager
प्रत्येक कैश में अलग-अलग कैश कॉन्फ़िगरेशन प्रदान करने में सक्षम नहीं होंगे।
क्या सिंगलटन बनाम इंस्टेंस मैनेजर्स का निर्धारण करने के लिए यह एकमात्र मानदंड है? यदि नहीं, तो कुछ और विचार क्या हैं? क्या कोई ध्यान देने योग्य प्रदर्शन लागत या तो से जुड़ी है? अग्रिम में धन्यवाद!