मैं html में बाह्य संसाधनों फिंगरप्रिंटिंग, जैसे के लिए filemtime
उपयोग कर रहा हूँ:php clearstatcache() प्रदर्शन और मापदंडों स्पष्टीकरण
<link rel="stylesheet" href="screen-<?=md5(filemtime('screen.css'));?>.css">
मैं प्रभावी अद्यतन करने और टाइमस्टैम्प filemtime
द्वारा लौटाए के बीच एक महत्वपूर्ण देरी देखा, तो मैं शीर्ष पर clearstatcache()
जोड़ा गया, जो इस समस्या को हल करने लगता है। लेकिन php manual के अनुसार:
आप केवल जरूरत clearstatcache() यदि आप एक ही फ़ाइल नाम पर संचालन कई प्रदर्शन और कहा कि विशेष फ़ाइल के बारे में जानकारी की आवश्यकता होती है संचित नहीं किया जा करने के लिए कॉल करने के लिए।
तो मुझे आश्चर्य है कि क्या मैं इसे सही तरीके से उपयोग कर रहा हूं।
इसके अलावा, मैं पूरी तरह से हर कॉल पर कैश को साफ़ करने के प्रदर्शन को लेकर चिंतित हूं। क्या कोई मुझे बता सकता है कि क्या यह सर्वर में महत्वपूर्ण मंदी का कारण बन सकता है?
clearstatcache
भी दो अतिरिक्त पैरामीटर स्वीकार करता है, लेकिन मैं उनके अर्थ की अनिश्चित हूँ: realpath कैश को साफ़ करने या नहीं करने
clear_realpath_cache या नहीं।
फ़ाइल नाम एक विशिष्ट फ़ाइल नाम के लिए रीयलपैथ और स्टेट कैश साफ़ करें; केवल तभी उपयोग किया जाता है जब clear_realpath_cache सत्य है।
मैं मिलता है नहीं क्या "realpath कैश" का अर्थ है, और मैं इसके बारे में कोई जानकारी प्राप्त नहीं कर सकता है। यह कोई मतलब clearstatcache
इस तरह से कॉल करने के लिए पड़ता है: इरादे के साथ
clearstatcache(true,'/path/to/screen.css');
कि विशिष्ट फ़ाइल से संबंधित केवल जानकारी स्पष्ट करने के लिए (और इसलिए clearstatcache
की "प्रभाव" को कम)?
क्या कोई कारण है कि आप 'md5 (filemtime (' screen.css ') का उपयोग कर रहे हैं,' बस 'filemtime (' screen.css ') के बजाय '32-बिट संख्या का 128-बिट हैश अंतर्निहित 32-बिट संख्या के रूप में अभी भी उतना ही अच्छा है। – jedwards
@jedwards बस अंक और अक्षरों की ठंडाता के लिए ;-) लेकिन आप सही हैं, प्रदर्शन के अनुसार – Giona
आप हमेशा 'dechex (filemtime (' screen.css ')) या यहां तक कि' str_pad (dechex ' (filemtime ('screen.css')), 8, '0', STR_PAD_LEFT) '- बस एक विचार – jedwards