मैं एक क्लाइंट क्लास पर काम कर रहा हूं जिसे नेटवर्क नेटवर्क से डेटा लोड करने की आवश्यकता है। यह सुझाव दिया गया है कि क्लाइंट को मानक कैशिंग सेवा जोड़ने से इसका प्रदर्शन बेहतर हो सकता है।क्या कोई मानक तृतीय पक्ष पायथन कैशिंग कक्षा है?
मुझे लगता है कि मुझे अपनी खुद की कैशिंग कक्षा बनाने की ज़रूरत नहीं है - यह अच्छी तरह से ज्ञात है कि ये विफलता के सामान्य बिंदु प्रदान करते हैं। एक वर्ग का उपयोग करना कहीं बेहतर होगा कि किसी और ने घर के बने कैशिंग सिस्टम को डिबग करने के अपने समय की एक बड़ी राशि खर्च करने के बजाय विकसित किया है। http://ehcache.sourceforge.net/
यह एक सामान्य प्रयोजन उच्च प्रदर्शन कैशिंग वर्ग जो भंडारण के सभी प्रकार का समर्थन कर सकते हैं:
जावा डेवलपर्स इस किया है। समय-समय पर समाप्ति और कचरा इकट्ठा करने के लिए अन्य तरीकों के लिए विकल्प मिल गए हैं। यह वास्तव में अच्छा लग रहा है। दुर्भाग्य से मुझे पाइथन के लिए यह कुछ भी अच्छा नहीं मिल रहा है।
तो, क्या कोई कैश-क्लास सुझा सकता है जो मेरे उपयोग के लिए तैयार है। मेरी इच्छा सूची है:
- कैश में ऑब्जेक्ट्स की संख्या को सीमित करने की क्षमता।
- कैश में ऑब्जेक्ट की अधिकतम आयु को सीमित करने की क्षमता।
- LRU वस्तु expirey भंडारण की विभिन्न विधियां (जैसे स्मृति, डिस्क)
- खैर कम से कम एक प्रसिद्ध आवेदन के द्वारा डिबग, अच्छी तरह से बनाए, उपयोग में चयन करने के लिए
- की क्षमता।
- अच्छा प्रदर्शन।
तो, कोई सुझाव?
अद्यतन: मैं वस्तुओं की स्थानीय कैशिंग की तलाश में हूं। जिस सर्वर से मैं कनेक्ट करता हूं वह पहले से ही कैश किया जाता है। Memcached उपयुक्त नहीं है क्योंकि इसे विंडोज क्लाइंट और सर्वर के बीच एक अतिरिक्त नेटवर्क यातायात की आवश्यकता है।
यह इस मामले में उचित नहीं है ... मैं एक स्थानीय कैश जोड़कर नेटवर्क एप्लिकेशन को तेज़ करने की कोशिश कर रहा हूं। अंत उपयोगकर्ताओं के लिए नेटवर्क कैश धीमा होने जा रहा है क्योंकि वे दुनिया में कहीं भी हो सकते हैं। –
अफसोस की बात है, इस चरण में ज्योथन का उपयोग करना जटिल है। –