2011-05-25 8 views
7

मेरे पास उनमें बहुत कम प्रविष्टियों वाली कुछ सारणी हैं और वे गतिशील रूप से कभी नहीं बदलेगी। तो मैं डीबी पर लोड को कम करने के लिए पूरी तालिका को मेमोरी में कैश करना चाहता हूं। मैं इसे एक स्थिर मानचित्र से आसानी से प्राप्त कर सकता हूं और एक स्थिर ब्लॉक में मानचित्र को पॉप्युलेट कर सकता हूं।एहकेचे बनाम स्टेटिक मानचित्र कैश कार्यान्वयन

मैं सोच रहा था कि क्या यह एशैचे + हाइबरनेट द्वारा एक अधिक प्रभावी तरीके से संभव है?

+0

क्या आप कैश के लिए सरल नक्शा कार्यान्वयन प्रदान कर सकते हैं? – Rachel

+1

बस एक सार्वजनिक स्थैतिक मानचित्र घोषित करें, उन मानों को जोड़ें जिन्हें आप मानचित्र में कैश करना चाहते हैं, और एक थ्रेड शुरू करें जो हर 12 घंटे या smthing इस मानचित्र को रीफ्रेश करेगा। – dpsdce

+0

धन्यवाद नौसिखिया, मैंने स्थैतिक मानचित्र लागू किया है लेकिन हर 12 बजे इसे ताज़ा नहीं कर रहा हूं। यदि आवश्यकता हो तो मैं इसे देख लूंगा। – Rachel

उत्तर

6

एक स्थिर नक्शे पर एक असली दूसरे स्तर कैश का लाभ आप अभी भी परिभाषित करने तक पहुँचने और अपने संस्थाओं traversing की उसी तरह रख कर में स्मृति उपयोग का लाभ मिलता है वह यह है कि इकाई प्रबंधक)।

आप अन्य संस्थाओं (यहां तक ​​कि कैश नहीं) के साथ संबंध रख सकते हैं; आप एक क्वेरी कैश का उपयोग कर सकते हैं और अभी भी इन इकाइयों पर प्रश्न पूछ सकते हैं (और इन प्रश्नों के परिणाम भी कैश किए जाएंगे)।

संक्षेप में, यह पारदर्शी है, बोझो ने कहा कि अधिक विकल्प प्रदान करता है, और इसका उपयोग करना बहुत आसान है क्योंकि कैश किए गए एंटीटी का उपयोग अन्य इकाइयों के समान होता है।

+0

मैं मानता हूं कि एहकेहे का उपयोग कोड वर्दी (जिस तरह से हम अन्य इकाइयों तक पहुंचते हैं) को बनाए रखेंगे, लेकिन सर्वर शुरू होने पर पारिस्थितिकी को पूर्ववत करने का कोई तरीका है क्योंकि मैं प्रारंभिक रूप से मानचित्र को पॉप्युलेट करने के लिए एक स्थिर ब्लॉक द्वारा मानचित्र कार्यान्वयन में कर सकता हूं? – dpsdce

+0

सभी इकाइयों को लोड करने वाले एचक्यूएल क्वेरी को निष्पादित करना चाल चलाना चाहिए: कैश्डएन्टिटी सी से सी का चयन करें। –

6

ehcache एक मानचित्र तुलना में बहुत अधिक सुविधाएं होती हैं:

  • सीमा स्मृति में तत्वों की अधिकतम संख्या
  • डिस्क के लिए (यदि ऊपर संख्या को पार कर जाता है)
  • एक समय के लिए सेट
  • अतिप्रवाह -Live और तत्वों के लिए समय-निष्क्रिय
  • एक क्लस्टर के भीतर प्रतिकृति की अनुमति देता है

आप उन में से किसी की जरूरत नहीं है, आप कर सकते हैं रों पहले एक मानचित्र का उपयोग करें - इसे कॉन्फ़िगर करना आसान होगा। हाइबरनेट सत्र का उपयोग करके (या:

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