मैं एक ऑनलाइन दुकान & बना रहा हूं MYSQL क्वेरी को कम करके प्रदर्शन में सुधार करने की कोशिश कर रहा हूं।PHP - क्या यह txt फ़ाइल में MYSQL क्वेरी को कैश करने का अच्छा अभ्यास है?
क्या यह txt फ़ाइल के माध्यम से mysql क्वेरी को कैश करने और फिर क्वेरी के बजाय इसे लाने का अच्छा अभ्यास है? यह है कि मैं क्या "कर रहा हूँ
- एक php वर्ग स्ट्रिंग के रूप एसक्यूएल क्वेरी लेता है
- करता है इसके बारे में एक md5
- अगर यह पहली बार यह
- फिर क्वेरी प्रदर्शन चलाए है डेटाबेस पर
- प्राप्त एक सरणी
- में परिणाम सरणी को क्रमानुसार और md5_Of_Query.txt के रूप में संग्रहीत
- वापसी या तो unserialize (file_get_contents (md5_of_Query.txt)) या $ रेस वास्तविक क्वेरी के ults, कैश मौजूद है या नहीं, इस पर निर्भर करता है।
- कक्षा txt फ़ाइल के filemtime() को भी जांचती है और यदि यह एक घंटे पुरानी कहती है, तो क्वेरी को दोबारा निष्पादित करें और कैश को रीफ्रेश करें।
क्या यह हर बार एसक्यूएल प्रश्न करने से अधिक कुशल है? कोई सुरक्षा समस्या मुझे याद आ रही है?
धन्यवाद एक बहुत, मिल गया मेम्कैश मेरे WAMP सर्वर पर स्थापित है, अब इस कैश का उपयोग कर का निर्माण करेगा। – Emmanuel
एक ही WAMP पर यह अंतर नहीं कर सकता है, विंडोज़ पर टेक्स्ट फ़ाइल का उपयोग ** पहले से ही ** मेमोरी में कैश किया गया है। Memcached ओवरहेड जोड़ता है और ** स्मृति चुराता है ** वेब सर्वर और डीबी के लिए और अधिक उपयोग होगा। Memcached का मतलब है * बहुत * ** अधिक ** बड़े परिदृश्यों के लिए। * बड़े * सर्वर खेतों और * पूल * कैशिंग सर्वर के प्रश्नों और सबक्वायरी का उत्तर देने के साथ। उस परिदृश्य में memcached (जो ** ** सॉकेट ** पर मेमोरी ट्रॉफ़ एक बहुत ** टेक्स्टुअल प्रोटोकॉल ** पूछताछ करता है) संसाधनों के समृद्ध अनावश्यकता से प्रदर्शन का सबसे अच्छा प्रदर्शन कर सकता है। एकल मशीनों से इसका कोई फायदा नहीं हो सकता है। – ZJR
उत्कृष्ट बिंदु, हालांकि, एप्लिकेशन के विकास जीवन चक्र की शुरुआत में विस्तार के लिए योजना बनाना एक अच्छा विचार है। मुझे विश्वास नहीं है कि एप्लिकेशन एक डब्ल्यूएएमपी सर्वर पर होस्ट किया जाएगा, मुझे लगता है कि केवल विकास और परीक्षण के लिए है। – serialworm