2009-06-27 13 views
13

क्या होता है जब आप एपीसी में एक चर जोड़ने की कोशिश करते हैं और एपीसी कैश भरा हुआ है? क्या यह स्वचालित रूप से कैश से कम से कम उपयोग किए गए चर को हटा देता है?PHP एपीसी: एपीसी कैश पूर्ण होने पर क्या होता है?

उत्तर

15

APC: Runtime Configuration के अनुसार, "उपलब्ध स्मृति से बाहर होने वाले कैश की स्थिति में, टीटीएल 0 के बराबर होने पर कैश पूरी तरह से समाप्त हो जाएगा। अन्यथा, अगर टीटीएल 0 से अधिक है, तो एपीसी समाप्त होने का प्रयास करेगा प्रविष्टियों। "

तो यदि कोई गैर-शून्य टीटीएल है, तो यह उन प्रविष्टियों को हटा देगा जिनके समय जीने के लिए पास हो गया है। ;) अन्यथा, यह पूरे कैश को हटा देगा।

मुझे लगता है कि यह वास्तव में पता नहीं चलता है कि क्या होता है यदि कैश मेमोरी से बाहर हो जाता है और आपके पास अत्यधिक उच्च टीटीएल होता है।

5

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

एक पक्ष नोट के रूप में (इस के evilness के लिए गूगल देखें), एपीसी और चीजों को देखने के लिए करने के लिए एक काफी किसी न किसी गाइड के लिए इस पुराने प्रस्तुति को देखने का अनुभव होगा http://www.slideshare.net/oscon2007/os-gopal के लिए बाहर हो सकता है शायद कुछ समय से पहले लेकिन सिद्धांत अभी भी सच है।

+0

लिंक अब काम कर रहा है :( – chiborg

+1

लिंक अद्यतन है तो यह एक ही स्लाइड के एक अभी भी काम कर संस्करण इंगित करना चाहिए –

+0

कैश स्लैम एक समस्या के बाद से एपीसी write_lock पेश किया जाना चाहिए http:। //www.php। शुद्ध/मैनुअल/en/apc.configuration.php # ini.apc.write ताला – marcovtwout

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