2010-07-05 15 views
6

मैं इस लिंक पढ़ें: -कोडइग्निटर आउटपुट कैशिंग कैसे काम करता है?

http://codeigniter.com/user_guide/general/caching.html

यह लिखा है कि: -

When a page is loaded for the first time, the cache file will be written to your system/cache folder

और हम $this->output->cache(60); से एक दृश्य को कैश कर सकते हैं। लेकिन यह वास्तव में कैसे काम करता है? क्या होगा यदि नियमित रूप से मेरे उपयोगकर्ता रिकॉर्ड्स को अपडेट और हटाना जारी रखते हैं जिसके परिणामस्वरूप अक्सर दृश्य बदलते हैं। क्या यह संशोधित डेटा दिखाएगा? या कैश पुराने पुराने डेटा वापस लाएगा? (आवेषण और अद्यतन से पहले)? यदि यह स्वचालित रूप से डेटाबेस से ताजा डेटा प्रबंधित करता है और लाता है, तो cache फ़ंक्शन में मिनट निर्दिष्ट करने का उद्देश्य क्या है?

अग्रिम धन्यवाद :)

उत्तर

14

रास्ता CodeIgniter की कैशिंग आम तौर पर काम करता है पर कैशिंग का उपयोग नहीं करते यह है:

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

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

कोडनिर्देशक के कार्यान्वयन को "पूर्ण पृष्ठ" कैशिंग कहा जाता है, और इसी तरह, इसकी उपयोगीता में सीमित है। यहां एक आंशिक कैशिंग लाइब्रेरी है जिसे मैंने फिल स्टर्जन से यहां देखा है: http://philsturgeon.co.uk/code/codeigniter-cache

ईमानदारी से, अधिकांश परियोजनाओं के लिए, पूर्ण पृष्ठ कैशिंग वास्तव में उपयोगी नहीं है। असल में, जिन परियोजनाओं को मुझे पूर्ण पृष्ठ कैशिंग की आवश्यकता है, मैं इसे कोडिनेटर तक नहीं छोड़ता (मैं इसे वेबसर्वर पर छोड़ देता हूं: यह तेज़ तरीका है)।

मुझे लगता है कि आप जो खोज रहे हैं वह आंशिक कैशिंग विधि है; ज्यादातर लोग इसे पसंद करेंगे। यदि आप एकाधिक सर्वर हैं तो आप एक सर्वर या मेमकैच का उपयोग कर रहे हैं तो एपीसी में देखें।

गुड लक।

7

लेकिन यह वास्तव में कैसे काम करता है?

यदि एक कैश संस्करण मौजूद है जो कैश समय से छोटा है, तो कैश किए गए संस्करण को आउटपुट किया जाएगा।

क्या यह संशोधित डेटा दिखाएगा?

अंततः हाँ, लेकिन $ cache_time

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

कैश समय को कम या सभी

+9

टिप्पणी के बिना डाउन-वोटिंग चूसने वाला व्यवहार है – Pete

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