2010-09-05 11 views
8

मेरे पास तत्व के "overflowToDisk" विशेषता पर कुछ प्रश्न हैं?जब ओवरफ्लो टॉडिस्क ईएचसीएसीई में सक्रिय हो जाता है?

overflowToDisk सेट तत्व जब स्मृति दुकान अधिकतम सीमा पर पहुंच गया है डिस्क के लिए अतिप्रवाह सकते हैं कि क्या:

1) मैं इस URL कि कम से पढ़ें।

उपरोक्त "मेमोरी" जावा प्रक्रिया के लिए आवंटित जेवीएम मेमोरी को संदर्भित करता है EHCACHE, या कैश मेमोरी आकार निर्दिष्ट करने के लिए कोई पैरामीटर है?

2) जब किसी कारण से EHCACHE चलने वाले पॉकेट समाप्त हो जाते हैं, चाहे यह डिस्क साफ़ हो जाए और कैश में सब कुछ गायब हो जाए?

उत्तर

9

जब आप मेमोरी स्टोर में maxElementsInMemory से अधिक होते हैं तो तत्व डिस्क पर बहने लगते हैं। , दूसरे प्रश्न के लिए

<cache name="cacheName" 
     maxElementsInMemory="1000" 
     maxElementsOnDisk="10000" 
     overflowToDisk="true" 
     timeToIdleSeconds="..." 
     timeToLiveSeconds="..."> 
</cache> 

diskPersistent पैरामीटर पर एक नजर है: यदि आप 10000 अप करने के लिए डिस्क पर, और अधिक स्टोर करने के लिए की जरूरत है कि निम्न उदाहरण एक कैश कि स्मृति में 1000 तत्वों को संग्रहीत करता है बनाता है, और,। यदि यह सत्य पर सेट किया गया है, तो जब आप JVM को रोकते हैं तो Ehcache डिस्क पर आपके डेटा को संग्रहीत रखेगा। निम्न उदाहरण इस दर्शाता है:

<cache name="cacheName" 
     maxElementsInMemory="1000" 
     maxElementsOnDisk="10000" 
     overflowToDisk="true" 
     diskPersistent="true" 
     timeToIdleSeconds="..." 
     timeToLiveSeconds="..."> 
</cache> 
3

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

खुला स्रोत ehcache के लिए संभव स्तरों हैं:

  • पर ढेर JVM ढेर
  • पर डिस्क जो सबसे कम एक

परिभाषा उच्च स्तरों तक कम है पर यह है कि विलंबता लेकिन कम स्तर की तुलना में कम क्षमता।

तो overflowToDisk के साथ कॉन्फ़िगर किए गए ओपन सोर्स कैश के लिए, सभी डेटा हमेशा डिस्क स्तरीय के अंदर होंगे। यह कुंजी में स्मृति और डिस्क पर डेटा स्टोर करेगा।

उत्तर this other question से कॉपी किया गया।

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