2012-01-21 9 views
5

मैं एक मोन्गो डीबी से कनेक्ट करने के लिए PHP में देशी ड्राइवर का उपयोग कर रहा हूं।mongodb और php: कनेक्शन पूलिंग

मुझे कनेक्शन पूलिंग की अवधारणा को समझ में नहीं आ रहा है: क्या यह कनेक्शन के 'पूल' की तरह है, और जब कोई उपयोगकर्ता वेबसाइट खोलता है, तो इस पूल से कनेक्शन खींचा जाता है और उपयोग किया जाता है?

लेकिन क्या होगा यदि आपके पास कुछ कोड वाले एकाधिक पृष्ठ हैं जो mongoDB का उपयोग करते हैं? जब भी उपयोगकर्ता पृष्ठ बदलता है, तो सिस्टम पूल से नया कनेक्शन खींच लेगा?

सामान्य रूप से: जब मैं बहुत से कनेक्शन कनेक्शन करता हूं तो मैं इस 'कनेक्शन पूल' को प्रबंधित कैसे कर सकता हूं (या यह स्वचालित रूप से प्रबंधित होता है)?

उत्तर

5

मुझे कनेक्शन पूलिंग की अवधारणा को समझ में नहीं आ रहा है: क्या यह कनेक्शन के 'पूल' की तरह है, और जब कोई उपयोगकर्ता वेबसाइट खोलता है, तो इस पूल से कनेक्शन खींचा जाता है और उपयोग किया जाता है?

हां, यह वही है जो यह है।

लेकिन क्या होगा यदि आपके पास कुछ कोड के साथ एकाधिक पृष्ठ हैं जो mongoDB का उपयोग करते हैं? जब भी उपयोगकर्ता पृष्ठ बदलता है, तो सिस्टम पूल से नया कनेक्शन खींच लेगा?

हां। कनेक्शन आवश्यक होने पर पूल से लिया जाता है (उपयोगकर्ता एक पृष्ठ लोड करता है), और तब स्क्रिप्ट समाप्त होने पर पूल में वापस आ जाता है। यह डिफ़ॉल्ट रूप से लगातार होता है (mongo.allow_persistent php.ini सेटिंग के माध्यम से सेट) और स्वचालित रूप से ड्राइवर द्वारा संभाला जाता है।

सामान्य रूप से: मैं एक साथ कनेक्शन कनेक्शन का प्रबंधन कैसे कर सकता हूं (या यह स्वचालित रूप से प्रबंधित होता है) जब कई सारे कनेक्शन होते हैं?

कनेक्शन पूल अधिकतर स्वचालित रूप से प्रबंधित होते हैं। MongoPool कक्षा का उपयोग करके आपके पास कुछ स्तर का नियंत्रण है।

+0

आपको बहुत बहुत धन्यवाद। – yesterday