असल में शब्द कनेक्शन पूलिंग और लगातार कनेक्शन mysqli . के मामले में इसी बात का संदर्भ लें पीएचपी में।
लगातार कनेक्शन इस मामले में PHP स्क्रिप्ट से खुले MySQL कनेक्शन को संदर्भित करता है जो स्क्रिप्ट के निष्पादन के बाद खुला रहता है, कुछ बाद के निष्पादन में फिर से उपयोग करने के लिए।
कनेक्शन पूलिंग इसका मतलब है कि PHP द्वारा बनाए रखा गया लगातार कनेक्शन का एक पूल है। इस पूल से एक निष्क्रिय कनेक्शन PHP स्क्रिप्ट को दिया जाता है जो MySQL से जुड़ना चाहता है और स्क्रिप्ट समाप्त होने पर पूल में वापस आ जाता है।
आपको आश्चर्य हो सकता है कि हमें MySQL कनेक्शन के पूल की आवश्यकता क्यों है, हम सभी स्क्रिप्ट के लिए केवल एक सतत कनेक्शन का उपयोग क्यों नहीं करते?
इसके दो कारण हैं:
- PHP
host/port/username/password
के आधार पर MySQL कनेक्शन का एक पूल बनाता है उपयोग किया गया। यदि एक स्क्रिप्ट कुछhost/port/username/password
. के साथ MySQL से जुड़ना चाहती है संयोजन, PHP निष्क्रिय लगातार कनेक्शन की खोज करता है जिसमें समान मान होते हैं। यदि यह नहीं मिलता है, तो इसhost/port/username/password
के साथ एक नया लगातार कनेक्शन बनाया जाता है संयोजन। इसलिए हमें कम से कम उतने ही अलग-अलग लगातार कनेक्शन चाहिए जितने अलग-अलग हैंhost/port/username/password
सभी लिपियों द्वारा उपयोग किए गए मान। - आप एक ही समय में एक MySQL कनेक्शन पर दो SQL कमांड निष्पादित नहीं कर सकते। यह तब हो सकता है जब दो PHP स्क्रिप्ट एक साथ निष्पादित हो रही हों। जब दो स्क्रिप्ट एक ही समय में MySQL के साथ संचार करना चाहते हैं, तो दो लगातार MySQL कनेक्शन बनाए जाते हैं। पूल में लगातार कनेक्शन की संख्या निष्पादित की गई अधिकतम समानांतर PHP स्क्रिप्ट की अंतिम संख्या के बराबर है, या
php.ini
में सेट की गई ऊपरी सीमा के बराबर है। ।
महत्वपूर्ण सूचना:
MySQL कनेक्शन पूल (और कोई अन्य कनेक्शन पूल) केवल तभी मौजूद हो सकता है जब PHP वेब सर्वर प्लगइन के रूप में क्रियान्वित हो रहा हो . जब PHP निष्पादन योग्य स्क्रिप्ट निष्पादन के बाद समाप्त हो जाता है, तो पूल फास्ट-सीजीआई मोड में या किसी अन्य तरीके से काम नहीं करते हैं।
संपादित करें:यदि वेब सर्वर एकाधिक अनुरोधों के लिए एक PHP फास्ट-सीजीआई प्रक्रिया का पुन:उपयोग करने के लिए कॉन्फ़िगर किया गया है तो MySQL कनेक्शन पूलिंग का उपयोग PHP के फास्ट-सीजीआई मोड में किया जा सकता है। यदि PHP फास्ट-सीजीआई प्रक्रिया को एक अनुरोध की सेवा के बाद बाहर निकलने के लिए कॉन्फ़िगर किया गया है तो उसके सभी MySQL कनेक्शन बंद हैं।