कैश आम तौर पर एक नक्शा है, जो और कुछ नहीं लेकिन एक कम या ज्यादा सरल आंकड़ा संरचना कर रहे हैं की तुलना में अधिक प्रबंधन तर्क है।
कुछ अवधारणाओं, JCaches लागू कर सकते हैं
- समाप्ति: प्रविष्टियां समाप्त हो सकते हैं और समय की एक निश्चित अवधि के बाद या अंतिम उपयोग के बाद से कैश से भी निकल जाते
- निष्कासन: तत्वों कैश करता है, तो अंतरिक्ष से भी निकल जाते सीमित है। विभिन्न बेदखल रणनीतियों हो सकते हैं। LRU, फीफो, ...
- वितरण: एक क्लस्टर में IE जबकि मैप्स एक JVM
- हठ करने के लिए स्थानीय कर रहे हैं: कैश में तत्वों लगातार और वर्तमान पुनः प्रारंभ करने पर हो सकता है, एक मानचित्र की सामग्री को सिर्फ
खो रहे हैं
- अधिक मेमोरी: कैश कार्यान्वयन बिगमेमरी नामक तकनीक का उपयोग करके, जेवीएम हीप प्रदान करता है, जहां कैश कार्यान्वयन अलग-अलग आवंटित बाइटबफर में क्रमबद्ध किया जाता है।यह JVM-बाहरी मेमोरी ओएस (पेजिंग) द्वारा किया जाता है और JVM
- दुकान कुंजी और मूल्यों या तो मूल्य द्वारा या संदर्भ द्वारा करने का विकल्प (नक्शे में आप स्वयं इस संभाल करने के लिए)
- विकल्प सुरक्षा
लागू करने के लिए नहीं
इन कुछ से कुछ JCache के अधिक सामान्य अवधारणाओं, कुछ कैश प्रदाताओं
स्रोत
2016-06-08 07:16:08
अच्छा प्रश्न के लिए धन्यवाद के विशिष्ट कार्यान्वयन विवरण हैं कर रहे हैं। कैश क्लास में इसका उत्तर दिया जाना चाहिए। उम्मीद है कि अगली रिलीज होगी: https://github.com/jsr107/jsr107spec/issues/365 – cruftex
क्या किसी को पता है कि 'कैशलोडर' और' कैशवाइटर 'के लिए डिफ़ॉल्ट कार्यान्वयन (डिस्क दृढ़ता) क्यों प्रदान नहीं किया गया है? MapDB/RocksDB का उपयोग करके कस्टम कार्यान्वयन तृतीय-पक्ष निर्भरता की ओर जाता है और यह त्रुटि-प्रवण हो सकता है। –