2012-06-15 18 views
5

मैं ehcache 1.2.3 का उपयोग कर रहा हूँ। चूंकि कैश आकार "तत्वों" के संदर्भ में निर्दिष्ट किया गया है, मेमोरी जो कैश पर कब्जा कर सकती है वह काफी भिन्न हो सकती है (ehcache हाइबरनेट के साथ एक साथ उपयोग किया जाता है और मानक क्वेरी कैश भी रखता है जहां प्रश्न परिणाम आकार बदलते हैं जो भिन्न हो सकते हैं)। मेरा सवाल है: क्या होता है यदि जेवीएम स्मृति पर कम हो जाता है। मेरा ईशैच के चेंजलॉग पढ़ने से इंप्रेशन यह है कि शुरुआत में यह नरम संदर्भों का उपयोग कर रहा था, लेकिन चूंकि जावा 1.4 उन्हें आक्रामक रूप से साफ कर रहा था, इसलिए नरम संदर्भ अंततः गिरा दिए गए थे। इस प्रकार यदि कैश बहुत बड़ा हो जाता है, तो मुझे बस आउटऑफमेमरी एरर मिलेगा? एशैच में कुछ भी नहीं जो इसे रोकने की कोशिश करता है?Ehcache कम स्मृति व्यवहार

उत्तर

1

यदि आप ehcache के साथ ओओएम बनाना चाहते हैं तो आप इसमें सही हैं, आप ऐसा कर सकते हैं। क्या आपने साइजिंग विकल्पों पर एक नज़र डाली है, हालांकि maxEntriesLocalHeap/maxBytesLocalHeap की तरह। उन लोगों का उपयोग करके आप कैश को आवंटित आवंटित मात्रा से अधिक उपयोग करने से प्रभावी ढंग से रोक सकते हैं।

उदाहरण http://ehcache.org/documentation/configuration/cache-size

+0

धन्यवाद के लिए, मैं वास्तव में धारणा है कि ehcache एक के हाल के संस्करणों में स्पष्ट रूप से स्मृति की खपत को सीमित कर सकता था। लेकिन मेरा सवाल Ehcache 1.2.3 के बारे में था, क्योंकि इस प्रणाली में इसका उपयोग किया जाता है जिस पर मैं काम कर रहा हूं। और, फिर, वर्तमान में, मेरी धारणा (एक प्रयोग द्वारा समर्थित नहीं) वास्तव में, यदि कैश का उपयोग स्मृति के उपयोग में बहुत बड़ा हो जाता है (जैसा कि इस्तेमाल किए गए तत्वों की संख्या के विपरीत), Ehcache 1.2.3 प्रविष्टियों को बेदखल करने की कोशिश नहीं करेगा स्मृति खपत को सीमित करें। –

संबंधित मुद्दे