2011-12-30 13 views
9

मैं spymemcached और xmemcached क्लाइंट का परीक्षण कर रहा हूं। मैं परियोजना प्रलेखन में जवाब खोजने की कोशिश कर रहा हूं लेकिन यह बहुत खराब है।memcached क्लाइंट: कनेक्शन खोलना, बंद करना और पुन: उपयोग करना

मेरे प्रश्न कनेक्शन खोलने, बंद करने और पुन: उपयोग करने के संबंध में हैं। मैंने इसे एक दस्तावेज़ में पाया:

कोई ग्राहक किसी भी समय कनेक्शन को बंद कर सकता है, इसे अब इसकी आवश्यकता नहीं है। नोट, हालांकि, ग्राहकों को डेटा को स्टोर या पुनर्प्राप्त करने की आवश्यकता होने पर उन्हें फिर से खोलने के बजाय उनके कनेक्शन को को कैश करने के लिए प्रोत्साहित किया जाता है। कैशिंग कनेक्शन TCP कनेक्शन "स्थापित करने के साथ जुड़े भूमि के ऊपर तो हर बार समाप्त करेंगे।

Spymemcached एक कनेक्शन पूल प्रदान नहीं करता है, मैं एक MemcachedClient उदाहरण मैं एक नया कनेक्शन सही बनाने हूँ बनाने? तो जब मैं बंद हो जाना चाहिए कनेक्शन? मैं अपने आवेदन में करने के लिए सभी धागे एक ही उदाहरण प्रदान करना चाहिए या एक नया हर बार बनाने?

xmemcached एक कनेक्शन पूल है। इस मामले में मैं कनेक्शन बंद हो जाना चाहिए मैं पूल से मिलता है?

उत्तर

8

स्पिममेकैड पीआर नहीं है एक कनेक्शन पूल ovide, तो हर बार जब मैं MemcachedClient उदाहरण बनाते हैं तो मैं एक नया कनेक्शन सही बना रहा हूं?

हां, हर बार जब आप एक नया MemcachedClient ऑब्जेक्ट बनाते हैं तो आप एक नया कनेक्शन बनाते हैं। प्रत्येक कनेक्शन एप्लिकेशन के लिए असीमित दिखाई देता है, इसलिए एक कनेक्शन होने से शायद आपके आवेदन के लिए पर्याप्त होगा। हालांकि कुछ लोग यद्यपि MemcachedClients का कनेक्शन पूल बनाते हैं।

फिर मुझे कनेक्शन बंद कब करना चाहिए?

जैसे ही आपको memcached के साथ संवाद करने की आवश्यकता नहीं है, आप कनेक्शन बंद कर देते हैं। यदि आप अल्पकालिक रहते हैं तो आपको जेवीएम को रोकने के लिए कनेक्शन को बंद करने की आवश्यकता है क्योंकि MemcachedClient कनेक्शन डिफ़ॉल्ट रूप से डिमन कनेक्शन हैं।

क्या मुझे अपने आवेदन में सभी धागे के लिए एक ही उदाहरण प्रदान करना चाहिए या हर बार एक नया निर्माण करना चाहिए?

एकाधिक धागे के साथ एक ही कनेक्शन का उपयोग करें। एक टीसीपी कनेक्शन बनाने के ऊपरी हिस्से की वजह से प्रत्येक कॉल के लिए एक नया कनेक्शन बनाना महत्वपूर्ण प्रदर्शन ड्रॉप होगा।

xmemcached में कनेक्शन पूल है। इस मामले में मुझे पूल से मिलने वाले कनेक्शन बंद करना चाहिए?

मैं xmemcached से परिचित नहीं हूँ, लेकिन मैं कल्पना कर सकते हैं यदि आप केवल कुछ (16 शायद) धागे बनाने के लिए और उन्हें सर्वश्रेष्ठ प्रदर्शन के लिए अपने आवेदन धागे साथ साझा करना चाहते हैं।

+0

क्या कोई मानक हैं जहां मैं देख सकता हूं कि एप्लिकेशन में कितने मेमकैच कनेक्शन की आवश्यकता है? – Arjit

+0

अंतिम वाक्य अधूरा लगता है - आप क्या कहने का मतलब था? –

+0

मैंने अंतिम वाक्य को पूरा करने के लिए उपरोक्त अपना उत्तर संपादित किया। – mikewied

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