वर्तमान में मुझे डेटा कैश करने के केवल दो तरीकों के बारे में पता है (मैं PHP का उपयोग करता हूं लेकिन मुझे लगता है कि यह ज्यादातर भाषाओं पर लागू होगा)।फ़ाइल या डेटाबेस के अलावा, कैशिंग के कौन से तरीके उपलब्ध हैं?
- एक बड़ी डीबी क्षेत्र
के लिए एक फ़ाइल
वर्तमान में मुझे डेटा कैश करने के केवल दो तरीकों के बारे में पता है (मैं PHP का उपयोग करता हूं लेकिन मुझे लगता है कि यह ज्यादातर भाषाओं पर लागू होगा)।फ़ाइल या डेटाबेस के अलावा, कैशिंग के कौन से तरीके उपलब्ध हैं?
के लिए एक फ़ाइल
हो सकता है कि आप अधिक सटीक रूप से स्पष्ट करना चाहते हैं कि आप कैश करना चाहते हैं।
precomputing, मैं तुम्हें यकीन हैं, जो आपके कोड एक सुधार किया जा सकता चीजों को कैशिंग करने के बारे में बात करने से पहले बहुत कुछ। उदाहरण के लिए, उदाहरण के लिए, आपकी साइट के नेविगेशन कितनी अच्छी तरह संरचित है और आप उपयोगकर्ता अनुभव को कितनी अच्छी तरह नियंत्रित करते हैं। फिर XDebug जैसे टूल के साथ अपना कोड देखें।
सत्यापित करें कि आप अपने SQL क्वेरी कितनी अच्छी तरह से बना रहे हैं और आप अपनी तालिकाओं को कितनी अच्छी तरह से अनुक्रमणित कर रहे हैं। फिर नियम लागू करने के अवसरों को देखने के लिए फिर से अपना कोड देखें "कई बार पढ़ें लेकिन केवल एक बार लिखें"
अन्य सरल चीजों को बेहतर बनाने के लिए YSlow जैसे एक साधारण टूल का उपयोग करें। अपने कोड की जांच फिर से अवसरों (जावास्क्रिप्ट के माध्यम से)
आप स्मृति में भी कैश कर सकते हैं जो अधिक कुशल है। memcached आज़माएं।
ब्राउज़र में तर्क डाल करने के लिए की तलाश में seconding memcached, सरल सामान अच्छी तरह से करता है और वितरण और सभी कि जाज जा सकते हैं ताकि यह भी
जरूरत है आप कर रहे हैं अपाचे का उपयोग करके, आप अपने वेब पृष्ठों को स्थिर रूप से कैश करने के लिए mod_rewrite का उपयोग कर सकते हैं। आइए कहें कि आप PHP का उपयोग कर रहे हैं, और आपके पास "/somepage.php" का अनुरोध है। आपके मेंhtaccess फ़ाइल आप निम्नलिखित डाल:
RewriteEngine on
RewriteCond %{QUERY_STRING} ^$ # let's not cache urls with queries
RewriteCond %{REQUEST_METHOD} ^GET$ # or POST/PUT/DELETE requests
RewriteCond static_cache/%{REQUEST_URI} -s # Check that this file exists and is > 0 bytes
RewriteRule (^.*$) static_cache$1 [L] # If all the conditions are met, we rewrite this request to hit the static cache instead
अपने कैश प्राप्त होता है तो, अनुरोध, हमेशा की तरह अपने PHP स्क्रिप्ट द्वारा नियंत्रित किया तो अब यह बस अपने PHP स्क्रिप्ट की दुकान कैश में जिसके परिणामस्वरूप एचटीएमएल बनाने की बात है है । तब
php_value auto_prepend_file "pre_cache.php"
php_value auto_append_file "post_cache.php"
: यह करने के लिए सबसे आसान तरीका अंत पहले जोड़ें (यह हो सकता है या एक अच्छा विचार, आपके आवेदन के आधार पर नहीं हो सकता है) अपने सभी php अनुरोध करने के लिए php फ़ाइलें के एक जोड़े संलग्न करने के लिए एक और इनको नियम का उपयोग कर रहा है आप इस तरह से कुछ करना चाहते हैं:
pre_cache.php:
ob_start();
post_cache.php:
$result = ob_get_flush();
if(!$_SERVER['QUERY_STRING']) { # Again, we're not caching query string requests
file_put_contents("static_cache/" + __FILE__, $result);
}
.htaccess फ़ाइल में कुछ अतिरिक्त नियमित अभिव्यक्तियों के साथ हम शायद क्वेरी स्ट्रिंग अनुरोधों को कैशिंग भी शुरू कर सकते हैं, लेकिन मैं इसे पाठक के लिए एक अभ्यास के रूप में छोड़ दूंगा :)
क्या आप इस प्रश्न को उचित शीर्षक दे सकते हैं? जैसे "कैशिंग डेटा के सर्वोत्तम तरीके क्या हैं?", "फ़ाइल या डेटाबेस के अलावा कैशिंग के कौन से तरीके उपलब्ध हैं?", या इसी तरह। –