2008-08-31 12 views
9

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

उत्तर

11

यह कैसे MySQL में प्रश्नों को कैश करने के लिए एक महान अवलोकन है। इसे कम से कम कुछ मेगाबाइट देने के लिए अपनी my.cnf फ़ाइल संपादित करें। कोई PHP आवश्यक परिवर्तन :)

1

मुझे लगता है कि क्वेरी कैश आकार डिफ़ॉल्ट हैं, जो बंद से 0:

+0

जैसे ही मैं कई उबंटू/डेबियन सर्वर पर MySQL स्थापित करता हूं और जांच करता हूं कि वे कॉन्फ़िगरेशन हैं, कैशिंग डिफ़ॉल्ट रूप से चालू होती है। 'query_cache_limit = 1M' और' query_cache_size = 16M ' – shgnInc

1

यह आपके द्वारा किए जा रहे प्रयासों के लिए पूर्ण ओवरकिल हो सकता है, लेकिन eAccelerator या memcache पर एक नज़र डालें। यदि आपके पास ऐसे प्रश्न हैं जो नियमित रूप से बदल जाएंगे और ऐसा नहीं करेंगे जो आप नहीं करेंगे, तो हो सकता है कि आप अपने सभी डीबी प्रश्नों को mysql द्वारा समान अवधि के लिए कैश नहीं करना चाहें।

उपर्युक्त जैसे कैशिंग इंजन आपको क्वेरी-बाय-क्वेरी आधार पर निर्णय लेने की अनुमति देते हैं, डेटा को कब तक कैश किया जाना चाहिए। तो कहें कि आपके पास अपने हेडर में डेटा है जो बार-बार बदल जाएगा, आप जांच सकते हैं कि यह वर्तमान में कैश में है या नहीं - यदि ऐसा है, तो इसे वापस करें, अन्यथा क्वेरी करें, और इसे एन के जीवनकाल के साथ कैश में रखें, ताकि अगले के लिए एन सेकंड प्रत्येक पृष्ठ लोड डेटा को माईएसक्यूएल के पास बिना कैश से खींच देगा। कैश द्वारा पारित होने पर, जब आप आवश्यक हो, तब डीबी से अपना अन्य डेटा "लाइव" खींचने के लिए स्वतंत्र हो जाते हैं।

4

आप अन्य चीजों के साथ अपने प्रश्नों के परिणामों को कैश करने के लिए Zend Cache का उपयोग कर सकते हैं।

0

मैं पूरे पृष्ठ कैशिंग मार्ग की अनुशंसा करता हूं। यदि कुछ डेटा बदलते हैं, तो गतिशील डेटा के स्थान पर टोकन/प्लेसहोल्डर रखें। पूरे पृष्ठ को उन टोकन के साथ कैश करें, फिर टोकन के लिए कैश किए गए डेटा के लिए टोकन को पोस्ट करें। इस प्रकार अब आपके पास एक कैश किया गया पृष्ठ है जिसमें गतिशील सामग्री है।

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