2009-05-25 12 views
6

हम कई टेबलों की दूसरी स्तर कैशिंग को सक्षम करने के लिए ehcache (1.6.0-beta5) का उपयोग करने पर विचार कर रहे हैं जो कभी संशोधित नहीं होते हैं। हमने इस तालिका के लिए केवल पढ़ने के लिए ehcache क्षेत्र स्थापित किया है और वर्तमान में यह ठीक काम कर रहा है। कैश में संग्रहीत Hibnerate POJO सभी अपरिवर्तनीय हैं।हाइबरनेट द्वितीय स्तर कैशिंग ehcache का प्रदर्शन

डेवलपर्स में से एक ने यहां एक मुद्दा उठाया है कि ehcache से 'हाइड्रेट' ऑब्जेक्ट्स में किए गए समय में महत्वपूर्ण प्रदर्शन घटता है, यानी, एक वास्तविक जावा ऑब्जेक्ट में किसी इकाई के आंतरिक प्रतिनिधित्व से मैपिंग। इसके बजाए उन्होंने सुझाव दिया कि हम वस्तुओं को मैन्युअल रूप से अपने कैश में स्टोर करें। इसके लिए हमारे कोड में महत्वपूर्ण संशोधन की आवश्यकता होगी और मेरे पास आरक्षण होगा कि सुधार कितना बड़ा होगा।

मेरे प्रश्न हैं:

  1. प्रदर्शन में वास्तव में महत्वपूर्ण इस कमी है?
  2. यदि इकाइयां केवल पढ़ने के लिए कैश में अपरिवर्तनीय हैं, क्या वास्तव में किसी भी हाइड्रेशन को करने की आवश्यकता होगी? क्या यह बस ऑब्जेक्ट्स को सीधे स्टोर नहीं कर सका?

किसी भी मदद के लिए धन्यवाद।

उत्तर

4

आपको हाइड्रेशन के लिए लगने वाले समय को प्रोफ़ाइल करना चाहिए। और यदि यह महत्वपूर्ण है (कम से कम कुछ पर्सेंट) आपको कोड बदलने के बारे में सोचना चाहिए।

+1

हाँ, यह निश्चित रूप से हमारे लिए अगला कदम है। मैं देख रहा था कि पहले हाइड्रेशन के कारण दूसरों को प्रदर्शन के मुद्दों का पिछला अनुभव है या नहीं। –

+0

आपकी प्रोफाइलिंग का नतीजा क्या था? क्या आपके मामले में हाइड्रेशन का महत्वपूर्ण प्रदर्शन प्रभाव पड़ा? – Jardo

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